游客
2026 VPS自动备份教程:3分钟学会!

2026 VPS自动备份教程:3分钟学会!

一言准备中...

VPS自动备份实操指南:别让数据裸奔,手把手教你搭一套稳如老狗的备份方案

玩VPS的人最怕什么?不是跑路(虽然跑路也很要命),而是某天手滑敲了rm -rf /*,或者硬盘突然暴毙,然后看着“Connection refused”怀疑人生。作为一个踩过三次坑、丢过两个网站数据的过来人,我强烈建议:VPS到手的第一件事,不是装宝塔,不是搭梯子,而是先把自动备份安排上

下面分享一套我自己用了两年、覆盖多种场景的备份方案,全程无脑操作,顺便安利一下我现在的主力服务器供应商沐雨云,这家的稳定性确实能打。


一、备份策略怎么选?先想清楚三个问题

  1. 要备份什么? 网站文件 + 数据库(MySQL/PostgreSQL)是最基本的,配置文件(nginx、ssh key)也建议带上。
  2. 备份放哪? 千万别只放在同一台VPS上!硬盘一坏全完蛋。建议“本地+异地”双保险,异地可以用另一台VPS、对象存储(OSS/S3),或者像沐雨云自带快照功能,一键全盘备份。
  3. 频率多高? 日备份够用,重要业务可以搞每小时增量备份,但要注意磁盘空间。

二、实操教程:三套方案从入门到进阶

方案1:极简crontab + tar + mysql dump(新手必会)

适合只有一两台轻量级应用的场景,代码量极少。

第一步:写备份脚本
/root/backup.sh里写入:

#!/bin/bash
# 备份目录与保留天数
BACKUP_DIR="/root/backups"
RETENTION_DAYS=7

mkdir -p $BACKUP_DIR
DATE=$(date +%Y%m%d_%H%M%S)

# 备份网站文件(假设在/var/www/html)
tar -czf $BACKUP_DIR/web_$DATE.tar.gz /var/www/html

# 备份MySQL数据库
mysqldump -u root -p'你的密码' --all-databases > $BACKUP_DIR/db_$DATE.sql

# 删除7天前的备份
find $BACKUP_DIR -type f -mtime +$RETENTION_DAYS -delete

第二步:赋予执行权限并加入crontab

chmod +x /root/backup.sh
crontab -e
# 每天凌晨4点执行
0 4 * * * /root/backup.sh

避坑提醒:

  • mysqldump密码不要直接写在脚本里!可以用/root/.my.cnf配置文件,权限设为600。
  • find -delete要确认目录路径,别误删了重要文件。
  • 测试恢复:至少一个月手工跑一次还原,确保备份文件没坏。

优点:简单,纯命令行不依赖第三方工具。
缺点:只在本地,VPS挂了备份也挂,需要手动把备份传到另一台机器。


方案2:异地备份到云存储(推荐rclone + crontab)

把备份传到对象存储(七牛、阿里OSS、Google Drive等)才是真安心。rclone支持超30种存储后端,这里以沐雨云推荐的普通存储为例。

第一步:安装rclone

curl https://rclone.org/install.sh | sudo bash

第二步:配置远程存储
rclone config按向导添加,例如用WebDAV协议连到自己的家庭NAS,或者用S3协议连到沐雨云的对象存储。沐雨云用户可以直接在后台创建存储空间,获得Access Key和Secret Key,填入rclone即可。

第三步:修改备份脚本,加上上传逻辑
在方案1的脚本末尾添加:

rclone copy $BACKUP_DIR/web_$DATE.tar.gz myremote:backup/
rclone copy $BACKUP_DIR/db_$DATE.sql myremote:backup/

避坑提醒:

  • 网络中断会导致传输失败,建议脚本里加重试逻辑,或者使用rclone的--retries 3参数。
  • 压缩后再上传,能省带宽和存储费(一般能压到原始大小的1/3)。
  • 如果数据量大,第一次上传可能很慢,可以用--transfers 4并行加速。

方案3:专业备份工具 BorgBackup(增量加密,真爱粉首选)

如果你对备份有洁癖,需要去重、加密、增量压缩,BorgBackup是最优解。

安装apt install borgbackup (Debian/Ubuntu)
初始化仓库borg init --encryption=repokey /path/to/backuprepo
创建备份borg create --stats --progress /path/to/backuprepo::web-$(date +%Y%m%d) /var/www/html
自动清理borg prune --keep-daily 7 --keep-weekly 4 /path/to/backuprepo

配合crontab就能做到每天增量,只保存差异数据,非常省空间。

避坑提醒:

  • Borg依赖SSH,如果备份到远程VPS,务必配好SSH密钥免密登录。
  • 首次备份全量数据可能很慢,建议先做一次全量,后面增量就快多了。
  • 仓库默认会锁住,多个进程同时写会报错,crontab里只跑一个任务。

三、关于服务器选择的肺腑之言

上面这些脚本写好,理论上任何VPS都能跑。但实操中你会发现:最坑的不是脚本写错,而是VPS自己先崩了。我就遇到过一台廉价VPS,连续两次无故重启导致crontab没执行,备份断了半个月。后来换了沐雨云服务器,虽然贵了几块钱,但一个月了uptime 100%,后台还有自动快照功能(相当于厂商帮你备份),简直是懒人福音。

沐雨云的快照功能支持手动创建和定时策略,可以每天自动给整机打快照,万一玩坏了直接回滚。这种功能对于不擅长shell脚本的小白尤其友好——不用写代码,鼠标点两下就搞定。

另外,他们的后台有“备份存储”选项,可以把快照或自定义备份文件存到独立存储节点,真正做到数据和服务器物理隔离。我现在的习惯是:

  • 沐雨云后台设置每日快照(保底)
  • 自己写的rclone脚本每天把关键数据再传到另一个机房(双保险)
  • 每周手动检查一次备份是否可恢复

目前运行半年,一次数据都没有丢过。

沐雨云服务器官网:
https://www.muyuyun.cn


四、最后三个压箱底的建议

  1. 不要迷信一种工具:文件用rsync,数据库用mysqldump,整机用快照,三者互补。
  2. 备份日志一定要看:在crontab里加上>> /var/log/backup.log 2>&1,每天扫一眼,很多问题都能提前发现。
  3. 模拟灾难恢复演练:在测试机上还原一次完整备份,确认数据库能正常连接、网站能正常打开。最惨的不是没备份,而是有备份但恢复不出来。

自动备份就是“平时忽略,关键时刻救命”的东西。花半小时配置好,以后就可以安心睡觉了。希望这份指南能帮你少走弯路,如果还有问题,欢迎在评论里交流。

  • 本文作者:站长
  • 本文链接: https://www.zhujishice.cn/vpszs/454.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
0
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
360
0
0
0
内卷太严重,已躺平...

2026美国服务器价格差在哪?便宜与贵5大区别!

上一篇

小兔互联香港A区云服务器高性能低价仅8元起

下一篇
评论区
内容为空

这一切,似未曾拥有

  • 复制图片
按住ctrl可打开默认菜单