网站数据丢了怎么办?零成本自动备份全攻略
辛辛苦苦写了几十篇文章,某天主机挂了、数据库坏了、被黑客删了——全没了!定期备份是建站的最后一道保险。本文教你几种免费自动备份方法,让你的数据万无一失。
一、备份到底要备份什么?
网站由两部分组成,缺一不可:
| 备份内容 | 说明 | 丢失后果 |
|---|---|---|
| 网站文件 | 主题、插件、上传的图片 | 网站面目全非 |
| 数据库 | 文章、评论、设置 | 内容全部丢失 |
两个都要备份! 光备份文件没数据库,文章就没了;光备份数据库没文件,网站就打不开。
二、WordPress 用户:插件一键备份
推荐:UpdraftPlus(免费)
UpdraftPlus 是 WordPress 最流行的备份插件,500 万+ 安装量。
配置步骤:
- 在 WordPress 后台 → 插件 → 安装插件,搜索 "UpdraftPlus"
- 安装并启用
- 进入 设置 → UpdraftPlus Backups
- 选择备份频率:
- 文件:每周一次
- 数据库:每天一次
- 选择远程存储(推荐 Google Drive,免费 15GB)
- 点击"保存设置"
搞定!以后它会自动备份到你的 Google Drive。
备选方案
| 插件 | 特点 |
|---|---|
| UpdraftPlus | 免费版够用,支持多种云存储 |
| BackWPup | 免费,支持邮箱发送备份 |
| All-in-One WP Migration | 搬家神器,一键导出整站 |
三、通用方案:定时脚本 + 远程存储
如果你的主机支持 cron 定时任务(大部分 Linux 主机都支持),可以用脚本自动备份。
步骤 1:创建备份脚本
在服务器上创建 /backup/backup.sh:
#!/bin/bash
# 设置备份目录
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d_%H%M)
SITE_DIR="/var/www/html"
DB_FILE="/var/www/html/typecho/usr/typecho.db"
# 创建当天的备份文件夹
mkdir -p $BACKUP_DIR/$DATE
# 1. 备份网站文件
tar -czf $BACKUP_DIR/$DATE/files.tar.gz $SITE_DIR
# 2. 备份数据库(SQLite)
cp $DB_FILE $BACKUP_DIR/$DATE/database.db
# 3. 删除 7 天前的旧备份
find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} \;
echo "备份完成:$DATE"步骤 2:设置定时任务
# 编辑 crontab
crontab -e
# 每天凌晨 3 点自动备份
0 3 * * * /bin/bash /backup/backup.sh >> /backup/backup.log 2>&1四、手动备份:适合不折腾的人
如果你不想搞脚本和插件,最简单的方法:
WordPress
后台 → 工具 → 导出 → 导出所有内容。得到一个 XML 文件,包含所有文章、评论。定期手动导出一次,存到电脑或网盘。
Typecho
Typecho 没有内置导出,但可以直接下载数据库文件。用 FTP 或文件管理器把 /usr/typecho.db(SQLite)或导出 MySQL。
五、异地备份——鸡蛋别放一个篮子
备份存在服务器上还不够,万一服务器整个挂了呢?
免费云存储方案
| 服务 | 免费空间 | 适用 |
|---|---|---|
| Google Drive | 15 GB | 手动上传 |
| OneDrive | 5 GB | Windows 用户 |
| 坚果云 | 每月 1GB 上传 | 国内速度快 |
| Mega | 20 GB | 端到端加密 |
自动化上传脚本(rclone)
rclone 是一个免费的命令行工具,能把文件同步到各种云存储。
# 安装 rclone
curl https://rclone.org/install.sh | sudo bash
# 配置 Google Drive(按提示操作)
rclone config
# 同步备份到 Google Drive
rclone copy /backup remote:website-backup加到 crontab 里,备份完自动同步到云端。
六、WordPress 搬家 vs Typecho 搬家
WordPress 搬家(用 All-in-One WP Migration)
- 旧站装插件 → 导出 → 下载一个 .wpress 文件
- 新站装 WordPress + 同款插件 → 导入
- 完事,连域名替换都自动完成
Typecho 搬家
- 复制所有文件到新主机
- 复制数据库文件 `/usr/typecho.db`
- 修改 `config.inc.php` 里的数据库路径
- 完成
七、备份策略建议
| 频率 | 内容 | 保留份数 |
|---|---|---|
| 每天 | 数据库 | 保留最近 7 天 |
| 每周 | 完整备份(文件+数据库) | 保留最近 4 周 |
| 每月 | 完整备份 | 保留最近 3 个月 |
| 每次大改前 | 手动备份 | 永久保留 |
八、灾难恢复演练
备份不是"存了就行",要确保能恢复。
每季度做一次恢复演练:
- 在本地电脑搭建一个测试环境
- 把备份导入
- 确认网站能正常打开
- 确认文章、评论、图片都在
别等到真出事了才发现备份是坏的。
常见问题
Q:免费虚拟主机能做自动备份吗?
A:看主机是否支持 cron 定时任务。支持的话用脚本方案,不支持的话只能手动定期备份。
Q:备份文件多大?
A:纯文字博客的话,文件+数据库一般 50-200MB。图片多的话可能到几个 G。建议图片用外部图床,减小备份体积。
Q:数据库和文件要同时备份吗?
A:数据库变化频繁(每次发文章都变),建议每天备份。文件变化少(装主题插件才变),每周备份就行。
总结
备份这件事,平时想不起来,出事后悔莫及。记住:
- **文件和数据库都要备份**
- **备份要存到服务器以外的位置**(网盘、电脑)
- **定期测试恢复**,确保备份能用
- **自动化**,别指望自己记得手动备份
花 10 分钟设置好自动备份,以后就可以安心写文章了。
*上一篇:想让网站看起来专业?网站 UI 美化与排版指南*
*下一篇:敬请期待*
本教程是「零成本建站」系列第 15 篇,关注我获取更多免费建站技巧!