diff --git a/files/backups/restic-backup.sh.j2 b/files/backups/backup-all.sh.j2 similarity index 61% rename from files/backups/restic-backup.sh.j2 rename to files/backups/backup-all.sh.j2 index e475585..024f539 100644 --- a/files/backups/restic-backup.sh.j2 +++ b/files/backups/backup-all.sh.j2 @@ -5,21 +5,22 @@ set -o pipefail echo "Backup: perform gitea backup" -su --login gitea -c '/home/gitea/gitea-dump.sh' -mkdir -p {{ backup_directory }}/gitea -mv /home/gitea/backups/* {{ backup_directory }}/gitea +su --login gitea --command '/home/gitea/backup.sh' -echo "Backup: perform backup with gobackup" -gobackup perform --config={{ backup_gobackup_config }} +echo "Backup: perform gramps backup" + +su --login {{ primary_user }} --command '/home/{{ primary_user }}/applications/gramps/backup.sh' + echo "Backup: send backups to remote storage with retic" -restic-shell.sh backup --verbose {{ backup_directory }} \ +restic-shell.sh backup --verbose /home/gitea/backups /home/major/applications/gramps/backups \ && restic-shell.sh check \ && restic-shell.sh forget --compact --prune --keep-daily 90 --keep-monthly 36 \ && restic-shell.sh check + echo "Backup: send notification" curl -s -X POST 'https://api.telegram.org/bot{{ notifications_tg_bot_token }}/sendMessage' \ @@ -27,8 +28,4 @@ curl -s -X POST 'https://api.telegram.org/bot{{ notifications_tg_bot_token }}/se -d 'parse_mode=HTML' \ -d 'text={{ notifications_name }}: бекап успешно завершен!' -echo -e "\nRemove old files" - -keep-files.py {{ backup_directory }}/gitea --keep 2 - echo -e "\nBackup: done" diff --git a/files/backups/gobackup.yml.j2 b/files/backups/gobackup.yml.j2 deleted file mode 100644 index 44c2565..0000000 --- a/files/backups/gobackup.yml.j2 +++ /dev/null @@ -1,32 +0,0 @@ -# https://gobackup.github.io/configuration - -models: - - gramps: - compress_with: - type: 'tgz' - storages: - local: - type: 'local' - path: '{{ (backup_directory, "gramps") | path_join }}' - keep: 2 - databases: - users: - type: sqlite - path: /home/major/applications/gramps/data/gramps_users/users.sqlite - search_index: - type: sqlite - path: /home/major/applications/gramps/data/gramps_index/search_index.db - sqlite: - type: sqlite - path: /home/major/applications/gramps/data/gramps_db/59a0f3d6-1c3d-4410-8c1d-1c9c6689659f/sqlite.db - undo: - type: sqlite - path: /home/major/applications/gramps/data/gramps_db/59a0f3d6-1c3d-4410-8c1d-1c9c6689659f/undo.db - archive: - includes: - - /home/major/applications/gramps - excludes: - - /home/major/applications/gramps/data/gramps_cache - - /home/major/applications/gramps/data/gramps_thumb_cache - - /home/major/applications/gramps/data/gramps_tmp diff --git a/playbook-backups.yml b/playbook-backups.yml index 45f89f5..c2d0ad2 100644 --- a/playbook-backups.yml +++ b/playbook-backups.yml @@ -6,33 +6,23 @@ - vars/vars.yml - vars/secrets.yml + vars: + restic_shell_script: "{{ (bin_prefix, 'restic-shell.sh') | path_join }}" + backup_all_script: "{{ (bin_prefix, 'backup-all.sh') | path_join }}" + tasks: - name: "Copy restic shell script" ansible.builtin.template: src: "files/backups/restic-shell.sh.j2" - dest: "{{ bin_prefix }}/restic-shell.sh" + dest: "{{ restic_shell_script }}" owner: root group: root mode: "0700" - - name: "Copy restic backup script" + - name: "Copy backup all script" ansible.builtin.template: - src: "files/backups/restic-backup.sh.j2" - dest: "{{ bin_prefix }}/restic-backup.sh" - owner: root - group: root - mode: "0700" - - - name: "Create gobackup config directory" - ansible.builtin.file: - path: "{{ backup_gobackup_config | dirname }}" - state: directory - mode: "0755" - - - name: "Copy gobackup config files" - ansible.builtin.template: - src: "files/backups/gobackup.yml.j2" - dest: "{{ backup_gobackup_config }}" + src: "files/backups/backup-all.sh.j2" + dest: "{{ backup_all_script }}" owner: root group: root mode: "0700" @@ -58,6 +48,6 @@ name: "restic backup" minute: "0" hour: "1" - job: "/usr/local/bin/restic-backup.sh 2>&1 | logger -t backup" + job: "{{ backup_all_script }} 2>&1 | logger -t backup" cron_file: "ansible_restic_backup" user: "root"