ansible-playbook

ansible-playbook

  1. 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  # 当有标准错误输出时执行
  1. 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
  1. 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  # 当有标准输出时执行
``
posted @   SpecialSpeculator  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示