AWS Lightsail - Pila de Wordpress - Script de copia de seguridad

AWS Lightsail - Pila de Wordpress - Script de copia de seguridad

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!

información relacionada