#!/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