ansible-playbook
ansible-playbook
- ansible-playbook执行脚本,并输出到控制台
- name: Deploy nginx logrotate.sh and print the result
hosts: all
become: yes # 如果需要以root权限执行命令,则需要这一行
tasks:
- name: Deploy logrotate.sh
script: /home/xxx/nginxLograte/deploy_nginxlograte.sh
register: result # 将命令的输出结果注册到变量result中
- name: Print stdout result
debug:
msg: "{{ result.stdout_lines }}"
when: result.stdout is defined and result.stdout | length > 0 # 当有标准输出时执行
- name: Print stderr result
debug:
msg: "{{ result.stderr_lines | default([]) }}" # 使用default过滤器
when: result.stderr is defined and result.stderr | length > 0 # 当有标准错误输出时执行
- ansible-playbook下载文件并保存到指定为止
- name: Download script and update modification time
hosts: all
become: yes # 如果需要以root权限执行命令,则需要这一行
tasks:
- name: Download script using wget
get_url:
url: http://example.com/path/to/script.sh
dest: /path/to/local/script.sh
- ansible-playbook task1执行的结果传参到task2中
- name: Deploy nginx logrotate.sh and use output as parameter for another script
hosts: all
become: yes # 如果需要以root权限执行命令,则需要这一行
tasks:
- name: Deploy logrotate.sh
script: /home/xxx/nginxLograte/deploy_nginxlograte.sh
register: result # 将命令的输出结果注册到变量result中
- name: Print stdout result
debug:
msg: "{{ result.stdout_lines }}"
when: result.stdout is defined and result.stdout | length > 0 # 当有标准输出时执行
- name: Use output as parameter for another script
script: /path/to/another_script.sh "{{ result.stdout | join(' ') }}"
when: result.stdout is defined and result.stdout | length > 0 # 当有标准输出时执行
``
原创:做时间的朋友