Soy un usuario habitual de bitnami wordpress stack (configurando sitios web para clientes y manteniéndolos, etc.).
Solía usar el complemento de copia de seguridad Updraft para hacer una copia de seguridad de WordPress y enviarlo a la cuenta S3; sin embargo, encontré muchos problemas con una configuración como esta.
Descubrí que la copia de seguridad a nivel de servidor será mucho mejor.
Aquí está el script que creé para realizar una copia de seguridad de los archivos, la base de datos y luego enviarlo a S3 y luego verificar si algún archivo tiene más de 7 días y si lo hay, eliminarlo.
copia de seguridad_script.sh
#!/bin/bash
time=$(date +%d-%m-%Y-%H.%M.%S)
. /home/bitnami/aws_credentials
/opt/bitnami/mysql/bin/mysqldump -u DATABASE_USER --password="USER_PASSWORD" --result-file=/home/bitnami/apps/backups/database-$time.sql bitnami_wordpress
tar -pcf /home/bitnami/apps/backups/database-$time.tar.gz /home/bitnami/apps/backups/database-$time.sql
tar -pcf /home/bitnami/apps/backups/backup-$time.tar.gz /opt/bitnami/apps/wordpress
find . -name '/home/bitnami/apps/backups/*.sql' -type f -delete
aws s3 cp /home/bitnami/apps/backups/database-$time.tar.gz s3://maintenance-websites-backups/folder_name/
aws s3 cp /home/bitnami/apps/backups/backup-$time.tar.gz s3://maintenance-websites-backups/folder_name/
find /home/bitnami/apps/backups -type f -mtime +7 -delete
Después de ejecutar esto:chmod +x /home/bitnami/apps/backup_script.sh
Configure cronjob para ejecutar el script a la 1 am todos los días:
sudo crontab -e
0 1 * * * /home/bitnami/apps/backup_script.sh > /tmp/backup.log 2>&1
Para enviar archivos a S3 se necesita AWS CLI.
sudo apt-get install awscli
aws configure
Árbitro:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html
aws_credentials
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
Este código funciona completamente y no he encontrado ningún problema hasta ahora (4 meses funcionando en 10 sitios web). Sin embargo, me pregunto cómo podría restaurar una copia de seguridad rápidamente desde dicha configuración. Por supuesto, si alguien ve algún problema con el código anterior, ¡indíquelo!