38 lines
937 B
Django/Jinja
38 lines
937 B
Django/Jinja
#!/usr/bin/env bash
|
|
|
|
set -eu
|
|
set -o pipefail
|
|
|
|
echo "Backup: perform gitea backup"
|
|
|
|
su --login gitea --command '/home/gitea/backup.sh'
|
|
|
|
|
|
echo "Backup: perform outline backup"
|
|
|
|
su --login outline --command '/home/outline/backup.sh'
|
|
|
|
|
|
echo "Backup: perform gramps backup"
|
|
|
|
su --login gramps --command '/home/gramps/backup.sh'
|
|
|
|
|
|
echo "Backup: send backups to remote storage with retic"
|
|
|
|
restic-shell.sh backup --verbose /home/gitea/backups /home/outline/backups /home/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' \
|
|
-d 'chat_id={{ notifications_tg_chat_id }}' \
|
|
-d 'parse_mode=HTML' \
|
|
-d 'text=<b>{{ notifications_name }}</b>: бекап успешно завершен!'
|
|
|
|
|
|
echo -e "\nBackup: done"
|