Restic-Backup-Skript für Wordpress mit docker-compose

Dies ist mein backup.sh für das Backup einer Wordpress-Seite mit einem docker-compose-Setup mit Restic.

Siehe Wordpress docker-compose config with Traefik reverse proxy für die empfohlene docker-compose-Konfiguration.

Um automatische tägliche Backups mit systemd durchzuführen, siehe How to create a systemd backup timer & service in 10 seconds

Siehe How to install Restic REST server on Synology NAS für weitere Informationen zur Aktivierung des Restic-REST-Servers auf einer Synology-NAS.

Backup-Skript

Stellen Sie sicher, dass Sie den korrekten Benutzernamen & das Passwort (restic und abc123 in diesem Beispiel), die korrekte IP-Adresse (10.1.2.3 in diesem Beispiel) und den Port (16383 in diesem Beispiel) eingeben.

Erstellen Sie außerdem eine .restic_password-Datei mit dem Backup-Verschlüsselungspasswort. SICHERN SIE DIESES PASSWORT SEPARAT - Sie können Ihr Backup ohne es nicht wiederherstellen!

backup.sh
#!/bin/bash
export NAME=$(basename $(pwd))
export RESTIC_REPOSITORY=rest:http://restic:[email protected]:16383/$NAME
export RESTIC_PASSWORD_FILE=.restic_password

if [ ! -f "${RESTIC_PASSWORD_FILE}" ]; then
   echo "Please create .restic_password with the backup encryption password AND BACKUP THAT PASSWORD SEPARATELY!!!"
   exit 1
fi
echo "Initing repo, please ignore any 'already exists' errors"
if [ ! -f ".restic_inited" ]; then
    # Run the restic init command
    restic init

    if [ $? -eq 0 ]; then # if init successful
        # Create the initialization file
        touch ".restic_inited"
        echo "Restic initialized"
    fi
fi

# Backup
source .env
docker-compose exec -T mariadb mysqldump -uroot -p${MARIADB_ROOT_PASSWORD} --all-databases | restic --verbose backup --stdin --stdin-filename="mariadb.sql"
# Backup files
restic --verbose backup backup.sh docker-compose.yml wordpress --exclude wordpress/wp-content/cache

Check out similar posts by category: Restic, Wordpress, Docker