![AWS Lightsail – Wordpress-Stack – Backup-Skript](https://rvso.com/image/1618736/AWS%20Lightsail%20%E2%80%93%20Wordpress-Stack%20%E2%80%93%20Backup-Skript.png)
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!