网站备份非常关键,它能保障你在服务器崩溃、误操作、攻击或数据损坏后迅速恢复网站。
内容 | 路径 | |
---|---|---|
网站文件 | WordPress核心文件、主题、插件、上传的媒体文件(图片、视频等) | /var/www/html/ |
数据库 | WordPress 存储文章、用户、设置等数据(WordPress网站的核心数据存储在MySQL数据库中) |
这里使用脚本自动化备份 (推荐给有一定Linux基础的用户)。
sudo nano /opt/backup_wordpress.sh
脚本内容如下:
#!/bin/bash
# ===========================================
# WordPress 站点自动备份脚本(张三专用版)
# 包含详细中文注释,适用于 LNMP 环境
# ===========================================
# 网站所在目录,WordPress 的代码、上传的图片、主题等文件都在这里
WEB_DIR="/var/www/html"
# WordPress 使用的数据库名
DB_NAME="wordpress"
# 用于连接数据库的用户名(张三)
DB_USER="zhangsan"
# 张三用户的数据库密码(请根据你实际情况修改)
DB_PASS="abc123"
# 用于保存备份文件的目录(推荐放在 /opt 或 /backup 目录下)
BACKUP_DIR="/opt/wordpress_backup"
# 当前日期,用于文件命名,例如 2025-06-05
DATE=$(date +%F)
# ===============================
# 第一步:确保备份目录存在
# -p 参数表示如果目录不存在就创建,不报错
# ===============================
mkdir -p $BACKUP_DIR
# ===============================
# 第二步:备份网站文件
# tar 是打包命令,-czf 参数含义如下:
# -c:创建新的归档文件(create)
# -z:用 gzip 压缩(compress)
# -f:指定输出的文件名(file)
# $WEB_DIR:要打包的目录
# $BACKUP_DIR/files-日期.tar.gz:输出文件路径
# ===============================
tar -czf $BACKUP_DIR/files-$DATE.tar.gz $WEB_DIR
# ===============================
# 第三步:备份数据库
# mysqldump 是导出数据库命令,常用参数:
# -u:用户名
# -p:后跟密码(注意不要加空格)
# $DB_NAME:要备份的数据库名
# > 输出到指定文件
# ===============================
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db-$DATE.sql
# ===============================
# 第四步:清理 7 天前的旧备份
# find 命令说明:
# -type f:查找文件(不是目录)
# -mtime +7:修改时间早于 7 天前
# -exec rm -f {} \;:删除这些文件
# ===============================
find $BACKUP_DIR -type f -mtime +7 -exec rm -f {} \;
# ===============================
# 第五步:写入日志
# echo 会输出一行文字到日志文件中
# $(date):当前时间,记录何时备份完成
# >> 表示追加写入到文件末尾
# ===============================
echo "[$(date)] 备份完成: files-$DATE.tar.gz, db-$DATE.sql" >> $BACKUP_DIR/backup.log
chmod +x /opt/backup_wordpress.sh
crontab -e
分 时 日 月 周 命令
0 2 * * 0 /bin/bash /opt/backup_wordpress.sh
:不要只保存在服务器上,应同步到:
本地电脑
云盘
定期测试恢复流程:备份没问题,但不能恢复也是白搭
多版本保留
声明:本文为原创文章,版权归深谋之道所有,欢迎分享本文,转载请保留出处!