AWS Lightsail - Wordpress 堆疊 - 備份腳本

AWS Lightsail - Wordpress 堆疊 - 備份腳本

我是 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,如果有人發現上述程式碼有任何問題,請指出!

相關內容