Script de backup Restic para Wordpress com docker-compose

Este é o meu backup.sh para fazer backup de um site Wordpress com uma configuração docker-compose usando Restic.

Veja Configuração docker-compose do Wordpress com proxy reverso Traefik para a configuração docker-compose recomendada.

Para realizar backups automáticos diários usando systemd, veja Como criar um timer & service de backup systemd em 10 segundos

Veja Como instalar servidor REST Restic no Synology NAS para mais informações sobre como ativar o servidor REST Restic em um NAS Synology.

Script de backup

Certifique-se de inserir o nome de usuário & senha corretos (restic e abc123 neste exemplo), o endereço IP correto (10.1.2.3 neste exemplo) e porta (16383 neste exemplo).

Além disso, crie um arquivo .restic_password com a senha de criptografia do backup. FAÇA BACKUP DESSA SENHA SEPARADAMENTE - você não pode restaurar seu backup sem ela!

backup.sh
#!/bin/bash
export NAME=$(basename $(pwd))
export RESTIC_REPOSITORY=rest:http://restic:abc123@10.1.2.3.4: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