AWS Lightsail – Wordpress-Stack – Backup-Skript

AWS Lightsail – Wordpress-Stack – Backup-Skript

Ich bin ein regelmäßiger Benutzer des WordPress-Stacks von Bitnami (einrichten und Verwalten von Websites für Kunden usw.).

Früher habe ich das Updraft-Backup-Plugin verwendet, um WordPress zu sichern und es auf ein S3-Konto zu übertragen. Bei einer solchen Einrichtung habe ich jedoch viele Probleme festgestellt.

Ich habe herausgefunden, dass ein Backup auf Serverebene viel besser ist.

Hier ist das Skript, das ich erstellt habe, um eine Sicherungskopie der Dateien und der Datenbank zu erstellen, diese dann auf S3 zu übertragen und anschließend zu prüfen, ob irgendwelche Dateien älter als 7 Tage sind, und diese ggf. zu löschen.

backup_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

Führen Sie anschließend Folgendes aus:chmod +x /home/bitnami/apps/backup_script.sh

Richten Sie den Cronjob so ein, dass das Skript jeden Tag um 1 Uhr morgens ausgeführt wird:

sudo crontab -e

0 1 * * * /home/bitnami/apps/backup_script.sh > /tmp/backup.log 2>&1

Zum Pushen von Dateien zu S3 wird AWS CLI benötigt.

sudo apt-get install awscli
aws configure

Referenz:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

aws_anmeldeinformationen

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=

Dieser Code funktioniert einwandfrei und ich habe bisher keine Probleme festgestellt (4 Monate auf 10 Websites). Ich frage mich jedoch, wie ich aus einem solchen Setup schnell ein Backup wiederherstellen kann. Wenn jemand Probleme mit dem obigen Code sieht, weisen Sie ihn bitte darauf hin!

verwandte Informationen