Dieses Skript kann verwendet werden, um eine dockerisierte Redmine-Instanz auf einen bup-Remote-Server zu sichern. Ich bin seitdem zu restic migriert, aber dieses Skript kann weiterhin verwendet werden
Siehe auch Lokales Redmine-Backup mit bup (docker-compose-kompatibel)
redmine_bup_backup.sh
#!/bin/bash
export NAME=$(basename $(pwd))
export BUP_DIR=/var/bup/$NAME.bup
export REMOTE_BUP_DIR=/bup-backups/$NAME.bup
export REMOTE_SERVER=10.11.12.15
export BUP_REMOTE=$REMOTE_SERVER:$REMOTE_BUP_DIR
bup_directory() {
echo "BUPing $1"
bup -d $BUP_DIR index $1 && bup -d $BUP_DIR save -r $BUP_REMOTE -9 --strip-path $(pwd) -n $1 $1
}
# Init
bup -d $BUP_DIR init -r $BUP_REMOTE
# MariaDB sichern
source .env && docker-compose exec -T mariadb mysqldump -uroot -p${MARIADB_ROOT_PASSWORD} --all-databases | bup -d $BUP_DIR split -r $BUP_REMOTE -n $NAME-mariadb.sql
# Verzeichnisse sichern
bup_directory redmine_data
bup_directory redmine_themes
# Skript selbst sichern
bup_directory backup.sh
bup_directory docker-compose.yml
# OPTIONAL: par2-Informationen hinzufügen
# Das wird nur für Backups auf unzuverlässigem Speicher oder für extrem kritische Backups empfohlen
# Wenn du bereits Bitrot-Schutz hast (wie BTRFS mit regelmäßigem Scrubbing), ist das vermutlich Overkill.
# Uncomment diese Zeile zum Aktivieren:
# bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR fsck -g
# OPTIONAL: Cleanup alter Backups
bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR prune-older --keep-all-for 1m --keep-dailies-for 6m --keep-monthlies-for forever -9 --unsafeWenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen