我是常规 bitnami wordpress 堆栈用户(为客户设置网站并维护它等)。
我曾经使用 Updraft 备份插件来备份 wordpress 并将其推送到 S3 帐户 - 但是,我发现这样的设置存在很多问题。
我发现服务器级别的备份会好得多。
这是我创建的脚本,用于备份文件和数据库,然后将其推送到 S3,然后检查是否有任何文件超过 7 天,如果有,则将其删除。
备份脚本
#!/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_credentials
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
此代码完全可以运行,到目前为止我还没有遇到任何问题(在 10 个网站上运行了 4 个月)。但是,我想知道如何才能从这样的设置中快速恢复备份?当然,如果有人发现上述代码有任何问题,请指出!