![AWS Lightsail - Wordpress 堆疊 - 備份腳本](https://rvso.com/image/1618736/AWS%20Lightsail%20-%20Wordpress%20%E5%A0%86%E7%96%8A%20-%20%E5%82%99%E4%BB%BD%E8%85%B3%E6%9C%AC.png)
我是 bitnami wordpress stack 的常規用戶(為客戶設定網站並維護網站等)。
我曾經使用 Updraft 備份外掛程式來備份 WordPress 並將其推送到 S3 帳戶 - 然而,我發現很多這樣的設定問題。
我發現伺服器級備份會好得多。
這是我創建的腳本,用於備份檔案、資料庫,然後將其推送到 S3,然後檢查是否有任何檔案超過 7 天,以及是否將其刪除。
備份腳本.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
運行後:chmod +x /home/bitnami/apps/backup_script.sh
設定 cronjob 每天凌晨 1 點執行腳本:
sudo crontab -e
0 1 * * * /home/bitnami/apps/backup_script.sh > /tmp/backup.log 2>&1
要將檔案推送到 S3,需要 AWS CLI。
sudo apt-get install awscli
aws configure
參考:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html
aws_憑證
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
這段程式碼完全可以工作,到目前為止我還沒有遇到任何問題(在 10 個網站上運行了 4 個月)。但是,我想知道如何從這樣的設定中快速恢復備份? Ofc,如果有人發現上述程式碼有任何問題,請指出!