版本一和版本二获取dt变量的方式不通。
版本一(测试调试版本):注意:dt.stdout 标准输出
stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误。
---#固定格式hosts192.168.1.233 #定义需要执行主机 remote_userroot #远程用户 vars#定义变量 http_port8088 #变量 dtdate '+%m-%d' -d '-2 day' tasks#定义一个任务的开始name获取时间 shelldate '+%m-%d' -d '-3 day' registerdt name查找文件 find paths/tools/cron_backup/ patterns"*{{ dt.stdout }}.tar.gz" recurseno registerfile_2_fetch name获取文件 fetch src"{{ item.path }}"# dest: /tools/all_cron_backup/ dest/tools/lxjtest/ flatyes with_items"{{ file_2_fetch.files }}"name显示 shellecho "1:" file_2_fetch.files >> /root/lxjtest.txt && echo "2:" dt.stdout >> /root/lxjtest.txt
方式二:命令行-e 指定变量
ansible-playbook /etc/ansible/playbook/get_all_cron_bak.yml -e dt=`date '+%m-%d' -d '-3 day'` -e localpath= $localpath`date +%Y-%m-%d`
---#固定格式hostsidc #定义需要执行主机 remote_userroot #远程用户 vars#定义变量 tasks#定义一个任务的开始name查找文件 find paths/tools/cron_backup/ patterns"*{{ dt }}.tar.gz" recurseno registerfile_2_fetch name获取文件 fetch src"{{ item.path }}"# dest: /tools/all_cron_backup/ dest"{{ localpath }}" flatyes with_items"{{ file_2_fetch.files }}"