家用NAS自动同步跨境网站全站备份数据:零基础配置教程

为什么需要把跨境网站备份同步到家用NAS?

网站数据放服务器上,万一服务器出问题、被攻击或误删文件,没有本地副本会很被动。
用家用NAS做自动同步,等于多了一层物理隔离的增量备份,尤其适合带宽不大但希望低成本容灾的跨境站点。
本文的操作不要求你有编程基础,按步骤走就能让NAS每天定时把网站文件与数据库拉到本地。

前期准备:确认这三样东西

  1. NAS已开启SSH服务 – 群晖、威联通、FreeNAS等一般默认开启,你需要在后台找到“终端和SNMP”或“SSH”面板,勾选“启用SSH”。
  2. 远程服务器有公网IP或可使用跳板机 – 如果服务器没有公网IP,可以先用VPN打通内网,或者使用FRP反向代理。本文假设远程服务器可直接被NAS通过SSH访问。
  3. NAS上安装rsync – 多数NAS自带rsync,如果没有,通过套件中心或包管理器安装即可。

核心操作步骤:4步完成自动同步

步骤1:在NAS上生成SSH密钥并上传公钥到服务器

打开NAS的SSH终端(Windows用Putty,Mac/Linux用Terminal),登录NAS的admin账号。
执行:

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N ""

一路回车,不设密码。
然后查看公钥内容:

cat ~/.ssh/id_ed25519.pub

复制输出的整段公钥。
接着登录你的远程服务器(假设IP是 203.0.113.10,用户是 webadmin):

ssh-copy-id -i ~/.ssh/id_ed25519.pub webadmin@203.0.113.10

输入一次服务器密码后,以后NAS就能免密连接服务器了。

步骤2:编写全站备份脚本

在NAS上创建一个文件夹用于存放备份,比如 /volume1/backup/website/
然后创建一个脚本文件 backup_website.sh

#!/bin/sh
# 同步网站文件
rsync -avz --delete webadmin@203.0.113.10:/var/www/html/ /volume1/backup/website/html/
# 导出并同步数据库(以MySQL为例)
ssh webadmin@203.0.113.10 "mysqldump -u root -p'YourDBPass' --all-databases > /tmp/db_backup.sql"
rsync -avz webadmin@203.0.113.10:/tmp/db_backup.sql /volume1/backup/website/db/
注意:-avz 表示归档模式+压缩传输,--delete 会删除NAS上已不存在的文件(保持与服务器完全一致)。数据库密码直接写在命令里不安全,建议使用 .my.cnf 文件或环境变量,新手可以先按这方式快速跑通。

给脚本执行权限:

chmod +x backup_website.sh

步骤3:手动测试脚本是否能正常运行

直接执行:

./backup_website.sh

观察输出是否有报错。
如果一切正常,NAS上会出现网站文件夹和数据库文件。
确认大小和文件数合理。

步骤4:创建定时任务(cron)

NAS的cron一般通过编辑 /etc/crontab 或使用后台“任务计划”来添加。
这里用命令行举例:

crontab -e

添加一行(每天凌晨3点执行):

0 3 * * * /volume1/backup/website/backup_website.sh >> /volume1/backup/website/backup.log 2>&1

保存后,cron会自动生效。
建议把日志输出到文件以便排查。

避坑指南:新手最容易踩的三个坑

  • SSH密钥权限不对:NAS上的私钥文件 ~/.ssh/id_ed25519 权限必须为600,否则SSH会拒绝使用。执行 chmod 600 ~/.ssh/id_ed25519
  • 服务器防火墙阻止SSH端口:确认远程服务器的安全组或防火墙允许NAS的公网IP访问22端口。
  • 磁盘空间不足:全站备份可能很大,设置前先查看NAS剩余空间 df -h,并考虑只备份必要的目录(如排除缓存文件夹)。

如何验证自动同步是否正常工作?

  1. 第二天登录NAS,检查备份目录下的文件时间戳是否为最新。
  2. 查看cron日志文件 backup.log,确认没有error。
  3. 模拟删除服务器上某个文件,运行一次脚本,看看NAS上对应文件是否也被删除(因为用了 --delete)。
  4. 定期恢复测试:找一台临时服务器,从NAS上用rsync推送到测试机,确保证据完整可恢复。

常见问题解答

Q:NAS没有公网IP,能主动连接远程服务器吗?

可以。
只要NAS能访问互联网(一般通过路由器NAT),就可以主动发起SSH连接。
无需NAS有公网IP。

Q:数据库备份怎么增量?

rsync只同步文件级的增量,而 mysqldump 每次都会导出一个完整SQL文件。
如果数据库太大,建议改用 mysqlbinlog 做二进制日志增量,或使用Percona XtraBackup。
对于小型跨境站,每天全量备份+保留最近7天即可。

Q:同步过程中断网会怎样?

rsync支持断点续传(--partial 参数),不过默认情况下如果中断,下次会重新传输整个文件。
建议在命令中加上 --partial --progress 以支持断点续传。

总结

用家用NAS配合rsync与cron,就能轻松实现跨境网站全站备份数据的每日自动同步。
关键环节是配置好SSH免密、写好脚本并设置定时任务。
这套方案成本低、可控性强,适合个人站长或小团队使用。
如果你在操作中遇到其他问题,欢迎留言交流。

分享到:
上一篇
WordPress外贸主题插件冲突白屏排查方法
下一篇
Nginx多语言站点适配海外搜索引擎配置教程:小白也能搭
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意