ansible/roles/rsync_backup/tasks/main.yml

51 lines
1.1 KiB
YAML

---
- name: Copy backup script
ansible.builtin.copy:
dest: /usr/local/sbin/backup-daily
src: backup-daily.sh
mode: "0755"
owner: root
group: "{{ ansible_wheel }}"
- name: Create config directory
ansible.builtin.file:
path: /etc/rsync-backup
state: directory
mode: "0755"
owner: root
group: "{{ ansible_wheel }}"
- name: Create logdir
ansible.builtin.file:
path: /var/log/rsync-backup
state: directory
mode: "0700"
owner: root
group: "{{ ansible_wheel }}"
- name: Create ssh keys
ansible.builtin.command:
argv:
- ssh-keygen
- -t
- ed25519
- -C
- "root@{{ inventory_hostname }}"
- -N
- ""
- -f
- /etc/rsync-backup/id_ed25519
creates: /etc/rsync-backup/id_ed25519
- name: Fetch ssh public key
ansible.builtin.fetch:
src: /etc/rsync-backup/id_ed25519.pub
dest: ../files/ssh/rsync-backup.pub
flat: true
- name: Install cron job
ansible.builtin.cron:
name: daily rsync backup
job: /usr/local/sbin/backup-daily -a -p -r
hour: "00"
minute: "30"