82 lines
2.2 KiB
YAML
82 lines
2.2 KiB
YAML
---
|
|
- name: setup backup installation folder
|
|
file:
|
|
state: directory
|
|
path: "{{ backup_inst }}"
|
|
owner: "{{ backup_owner }}"
|
|
group: "{{ backup_group }}"
|
|
mode: "0750"
|
|
|
|
- name: install dateutil library service
|
|
apt:
|
|
update_cache: yes
|
|
state: "{% if cloud_update | bool %}latest{% else %}present{% endif %}"
|
|
install_recommends: yes
|
|
pkg: python3-dateutil
|
|
|
|
- name: setup filter program for backup pruning
|
|
copy:
|
|
src: opt/backup/filter_backups.py
|
|
dest: "{{ backup_inst }}/filter_backups.py"
|
|
owner: "{{ backup_owner }}"
|
|
group: "{{ backup_group }}"
|
|
mode: "0750"
|
|
|
|
- name: setup ssh public keys of clients
|
|
copy:
|
|
content: "{{ backup_clients[item].sshpubkey }}"
|
|
dest: "{{ backup_home }}/.ssh/{{ item }}.pub"
|
|
owner: "{{ backup_owner }}"
|
|
group: "{{ backup_group }}"
|
|
mode: "0600"
|
|
loop: "{{ backup_clients.keys() }}"
|
|
|
|
- name: setup ssh private keys of clients
|
|
copy:
|
|
content: "{{ backup_clients[item].sshprivkey }}"
|
|
dest: "{{ backup_home }}/.ssh/{{ item }}"
|
|
owner: "{{ backup_owner }}"
|
|
group: "{{ backup_group }}"
|
|
mode: "0600"
|
|
loop: "{{ backup_clients.keys() }}"
|
|
|
|
- name: setup ssh config of clients
|
|
template:
|
|
src: "home/backup/.ssh/config.j2"
|
|
dest: "{{ backup_home }}/.ssh/config"
|
|
owner: "{{ backup_owner }}"
|
|
group: "{{ backup_group }}"
|
|
mode: "0600"
|
|
|
|
- name: setup backup key folder
|
|
file:
|
|
state: directory
|
|
path: "{{ backup_key_folder }}"
|
|
owner: "{{ backup_owner }}"
|
|
group: "{{ backup_group }}"
|
|
mode: "0700"
|
|
|
|
- name: setup borg repository keys
|
|
copy:
|
|
content: "{{ backup_clients[item].borgkey }}"
|
|
dest: "{{ backup_key_folder }}/{{ backup_clients[item].app }}"
|
|
owner: "{{ backup_owner }}"
|
|
group: "{{ backup_group }}"
|
|
mode: "0600"
|
|
loop: "{{ backup_clients.keys() }}"
|
|
|
|
- name: setup borg server script
|
|
template:
|
|
src: "opt/backup/inst/cloud-server-backup.j2"
|
|
dest: "{{ backup_inst }}/cloud-server-backup"
|
|
owner: "{{ backup_owner }}"
|
|
group: "{{ backup_group }}"
|
|
mode: "0750"
|
|
|
|
- name: setup prune cron backup server job
|
|
cron:
|
|
name: "cloud server backup"
|
|
user: "{{ backup_cron_owner }}"
|
|
job: "{{ backup_inst }}/cloud-server-backup remote-prune"
|
|
hour: "{{ backup_server_remote_prune_time }}"
|
|
minute: 0 |