kubeasz/23.backup.yml

37 lines
944 B
YAML

# cluster-backup playbook
# read the guide: 'op/cluster_restore.md'
- hosts:
- etcd
tasks:
- name: 执行etcd 数据备份
shell: "mkdir -p /etcd_backup && cd /etcd_backup && \
ETCDCTL_API=3 {{ bin_dir }}/etcdctl snapshot save snapshot.db"
args:
warn: false
- name: 获取etcd 数据备份
fetch:
src: /etcd_backup/snapshot.db
dest: "{{ base_dir }}/.cluster/backup/"
flat: yes
run_once: true
- hosts:
- localhost
tasks:
- name: Backing up ansible hosts-1
copy:
src: "{{ base_dir }}/hosts"
dest: "{{ base_dir }}/.cluster/backup/hosts"
register: p
- name: Backing up ansible hosts-2
shell: "cd {{ base_dir }}/.cluster/backup && \
cp -fp hosts hosts-$(date +'%Y%m%d%H%M')"
when: 'p is changed'
- name: Backing up etcd snapshot with datetime
shell: "cd {{ base_dir }}/.cluster/backup && \
cp -fp snapshot.db snapshot-$(date +'%Y%m%d%H%M').db"