diff --git a/ansible/deploy.yml b/ansible/deploy.yml index 55e787a..e4d95e9 100644 --- a/ansible/deploy.yml +++ b/ansible/deploy.yml @@ -53,12 +53,13 @@ roles: - role: caddy -# london-b: Docker services (storage, apps) +# london-b: Docker services (storage, apps) + backups - name: "Stage 4b: Docker services (london-b)" hosts: london-b tags: [services, london-b] roles: - role: docker_services + - role: backup # nuremberg-a: Mail (poste.io via Docker) - name: "Stage 4c: Mail (nuremberg-a)" diff --git a/ansible/roles/backup/tasks/main.yml b/ansible/roles/backup/tasks/main.yml new file mode 100644 index 0000000..6c029b4 --- /dev/null +++ b/ansible/roles/backup/tasks/main.yml @@ -0,0 +1,22 @@ +--- +# Deploy backup script and cron job for rclone-to-B2 backups. + +- name: Ensure scripts directory exists + ansible.builtin.file: + path: /root/scripts + state: directory + mode: '0755' + +- name: Deploy backup script + ansible.builtin.copy: + src: "{{ playbook_dir }}/scripts/hdd-backup.sh" + dest: /root/scripts/backup.sh + mode: '0755' + +- name: Configure backup cron job + ansible.builtin.cron: + name: "HDD backup to B2" + minute: "0" + hour: "22" + job: "/root/scripts/backup.sh" + user: root