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
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
|