shell 模块执行tasks 有较多的参数,和command 差不多
- chdir: 执行命令前进入某个目录
- creates: 创建一个文件
- removes: 删除一个文件
- name: exec shell abd.sh and result to shell_file4
#这个命令执行时需要两个条件: 1. 需要到指定目录下执行,2这个目录下没有参数中的文件时才能执行
shell: sh abd.sh >> shell_file4
args:
chdir: /opt/
creates: shell_file4
register: result
- debug:
msg: "create a file"
---
- hosts: all
tasks:
- name: backup the chrony.conf
shell: |
pushd /etc/
[ -e chrony.conf ] && cp chrony.conf{,.bk}
popd
- debug:
msg: "backup the chrony.conf"
- name: mkdir /opt/rc_dir
shell: |
cmd: mkdir /opt/rc_dir
register: result_rc
failed_when: result_rc.rc != 0
ignore_errors: True
- debug:
msg: "{{ result_rc.stdout }}"
ignore_errors: yes
- name: chdir the /opt/rc_dir
shell:
args:
chdir: /opt/rc_dir
cmd: pwd
register: result_pwd
- debug:
msg: "{{ result_pwd['stdout_lines'],result_pwd.start }}"