You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
1.2 KiB
Django/Jinja

#!/bin/bash
REPO=sftp:{{SERVER_NAME}}-backup@{{RPI_NAME}}:data
PWD_FILE=/backup-pwd
RESTIC=/usr/bin/restic
echo "Removing current backups..."
rm -fr /backup/*
mkdir -p /backup
####### Prepare data
# tutaj wpychamy dane do zbackupowania do /backup.
# nie musimy ich tu wpychać, jeżeli po prostu są na dysku - wystarczy podać je jako argument do pierwszej komendy w sekcji "Send Backups".
# do /backup najlepiej wgrać artefakty, które nie są aktualnie w backupowalnej postaci na dysku, np. dumpy mysql
# przykłady skryptów backupujących dodałem na końcu, w sekcji "bonusy"
###### Send backups
echo "Sending the backup to the destination..."
# podaj tutaj listę katalogów do zbackupowania. Warto backupować katalog `/etc`.
$RESTIC -r "$REPO" --password-file=$PWD_FILE backup /backup /etc /var/phabricator-files /etc/nginx/sites # ... + inne pliki / katalogi
echo "Pruning the backup on the destination..."
# poniższa konfiguracja będzie trzymała backupy z każdego z pięciu ostatnich dni, po jednym backupie dla każdego z ostatnich 10 tygodni, po jednym dla ostatnich 12 miesięcy i po jednym dla ostatnich 100 lat.
$RESTIC -r "$REPO" --password-file=$PWD_FILE forget --prune --keep-daily 5 --keep-weekly 10 --keep-monthly 12 --keep-yearly 100