Ansible 远程备份

ansible执行远程备份

cat /search/ansible/roles/adtech/tasks/backup_data.yml 
---

- name: register variable
  shell: date -d"0 days ago" +"%Y%m%d%H"
  register: bak_var
  failed_when: bak_var.rc != 0

- debug: msg="print {{ bak_var }}"

- name: create backup dir
  file: path=/search/odin/backup/{{ bak_var.stdout }} state=directory

- name: backup bin file
  copy: src=/search/odin/bin dest=/search/odin/backup/{{ bak_var.stdout }}/ remote_src=yes

- name: backup conf
  copy: src=/search/odin/conf dest=/search/odin/backup/{{ bak_var.stdout }}/ remote_src=yes

- name: delete 5 days ago data
  shell: find /search/odin/backup/ -mtime +5 -exec rm -f {} \;
  register: result
  failed_when: result.rc != 0

- debug: msg="backup done"

执行结果:

[@bjyf_50_20 ansible]# ansible-playbook -i host_test test.yml

PLAY [test] *******************************************************

TASK [Gathering Facts] *******************************************************************
ok: [10.160.13.139]

TASK [adtech : register variable] *******************************************************************
changed: [10.160.13.139]

TASK [adtech : debug] *******************************************************************
ok: [10.160.13.139] => {
    "msg": {
        "changed": true,
        "cmd": "date -d\"0 days ago\" +\"%Y%m%d%H\"",
        "delta": "0:00:00.010421",
        "end": "2020-11-10 11:35:25.821426",
        "failed": false,
        "failed_when_result": false,
        "rc": 0,
        "start": "2020-11-10 11:35:25.811005",
        "stderr": "",
        "stderr_lines": [],
        "stdout": "2020111011",
        "stdout_lines": [
            "2020111011"
        ]
    }
}

TASK [adtech : create backup dir] ******************************************************************
ok: [10.160.13.139]

TASK [adtech : backup bin file] ******************************************************************
ok: [10.160.13.139]

TASK [adtech : backup conf] ******************************************************************
ok: [10.160.13.139]

TASK [adtech : delete 5 days ago data] ******************************************************************
changed: [10.160.13.139]

TASK [adtech : debug] ******************************************************************
ok: [10.160.13.139] => {
    "msg": "backup done"
}

PLAY RECAP *******************************************************
10.160.13.139              : ok=8    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

[@bjyf_50_20 ansible]#

你可能感兴趣的:(ansible)