版本一和版本二擷取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 }}"