版本一和版本二获取dt变量的方式不通。
版本一(测试调试版本):注意:dt.stdout 标准输出
stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误。
--- #固定格式
- hosts: 192.168.1.233 #定义需要执行主机
remote_user: root #远程用户
vars: #定义变量
http_port: 8088 #变量
dt: date '+%m-%d' -d '-2 day'
tasks: #定义一个任务的开始
- name: 获取时间
shell: date '+%m-%d' -d '-3 day'
register: dt
- name: 查找文件
find:
paths: /tools/cron_backup/
patterns: "*{{ dt.stdout }}.tar.gz"
recurse: no
register: file_2_fetch
- name: 获取文件
fetch:
src: "{{ item.path }}"
# dest: /tools/all_cron_backup/
dest: /tools/lxjtest/
flat: yes
with_items: "{{ file_2_fetch.files }}"
- name: 显示
shell: echo "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`
--- #固定格式
- hosts: idc #定义需要执行主机
remote_user: root #远程用户
vars: #定义变量
tasks: #定义一个任务的开始
- name: 查找文件
find:
paths: /tools/cron_backup/
patterns: "*{{ dt }}.tar.gz"
recurse: no
register: file_2_fetch
- name: 获取文件
fetch:
src: "{{ item.path }}"
# dest: /tools/all_cron_backup/
dest: "{{ localpath }}"
flat: yes
with_items: "{{ file_2_fetch.files }}"