家用住宅NAS同步跨境网站数据备份,新手也能照做的实操教程
如果你运营一个面向海外用户的网站,服务器放在国外,又希望本地有一份完整的数据备份,那用家里的NAS做同步就是最经济又可控的方案。
下面我会从零讲起,把家用住宅NAS同步跨境网站数据备份这件事拆解成具体可执行的步骤,无论你用群晖、威联通还是极空间,思路都是通用的。
准备好你的NAS和跨境服务器
在动手前,先确认两边的环境:
- NAS端:确保已经开启SSH服务(群晖在控制面板→终端机和SNMP里勾选“启动SSH”),并且有一个专用的共享文件夹用来存放备份数据,比如
/volume1/backups/website。 - 跨境服务器端:网站服务器通常是Linux系统(CentOS或Ubuntu),你需要有root或sudo权限,并且能通过SSH登录。记下服务器的IP地址、端口(默认22)和登录用户名。
如果两边都没有安装rsync,先装它:
- NAS端(群晖):通过套件中心安装“Synology Rsync”(或直接使用自带的rsync)。
- 服务器端:执行
yum install rsync -y(CentOS)或apt update && apt install rsync -y(Ubuntu)。
配置SSH免密登录,让同步自动化
手动输入密码不适合定时任务,所以先配置密钥对,让NAS能无密码登录服务器。
- 在NAS上用SSH登录自己的NAS(群晖Admin账户,默认端口22)。执行
ssh-keygen -t rsa -b 4096,一路回车即可,生成的密钥保存在~/.ssh/id_rsa.pub。 - 查看公钥内容:
cat ~/.ssh/id_rsa.pub,复制全部。 - SSH登录跨境服务器(比如
ssh root@服务器IP),进入~/.ssh目录(没有则mkdir -p ~/.ssh && chmod 700 ~/.ssh),将刚才复制的公钥追加到authorized_keys文件:echo '公钥内容' >> ~/.ssh/authorized_keys,然后执行chmod 600 ~/.ssh/authorized_keys。 - 返回NAS测试:
ssh root@服务器IP,如果能直接登录而不需密码,就成功了。之后执行exit退出。
运行rsync命令同步网站数据
假设你在跨境服务器上的网站根目录是 /var/www/html(根据实际情况改),
NAS上的目标文件夹是 /volume1/backups/website,
那么同步命令如下(在NAS的SSH终端执行):
rsync -avz --delete -e 'ssh -p 22' root@服务器IP:/var/www/html/ /volume1/backups/website/
参数说明:
-a:归档模式,保留权限、时间戳等。-v:显示进度详情。-z:传输时压缩,节省跨境带宽。--delete:删除NAS端多余的文件,保证和服务器一致(如果你只想备份不想删除,去掉这个参数)。-e 'ssh -p 22':指定SSH端口,如果服务器端口不是22,改成对应数字。
首次同步会传输所有文件,之后只会增量传输变动的部分,非常省流量。
设置定时任务,实现无人值守自动备份
我们不希望每次都手动敲命令,所以利用NAS的任务计划来每天或每小时自动执行。
以群晖为例:
- 打开DSM控制面板 → 任务计划。
- 新增 → 计划任务 → 用户自定义脚本。
- 任务名称随意,如“Website Backup”。
- 用户选root(保证写入权限)。
- 计划里按需设置时间(建议每天凌晨执行,避开网站高峰)。
- 任务设置 → 用户自定义脚本框里粘贴刚才的rsync命令。
- 确认保存后,可以选中任务点“运行”测试执行。
威联通或极空间也有类似的任务计划功能,路径可能不同,但原理一致。
避坑指南:常见问题与解决
- 防火墙导致无法连接:确保跨境服务器的SSH端口(默认22)在外网防火墙是开放的,并且NAS能访问到。如果有安全组,放行NAS的公网IP。
- 权限不足报错:同步时如果提示
Permission denied,检查NAS端目标文件夹是否有写入权限(建议chmod 755或777临时测试),以及SSH密钥属主是否正确(chmod 600 ~/.ssh/id_rsa)。 - 同步速度慢:跨境网络可能不稳定,可以加上
--bwlimit=10000限制带宽(单位KB/s),或者改用多线程工具如zfs send,但rsync更通用。如果文件数量巨大,考虑使用Rclone并开启分片传输。 - 备份文件占用双倍空间:如果
--delete参数误删了NAS端已有的文件,可以先不加该参数手动跑一次,确认NAS端有完整数据后再启用。
验证备份完整性,心里有底
备份完成后,需要确认数据是否可用。
最简单的方法:
- 对比文件数量:在NAS上执行
ls -l /volume1/backups/website/ | wc -l,在服务器上执行ls -l /var/www/html/ | wc -l,数字应接近(注意排除.和..的差异)。 - 随机检查几个文件的内容,比如
cat 某个文件名,确保不是空文件。 - 查看备份时间戳是否与最新修改时间一致。
- 如果网站有数据库,同样可以用mysqldump导出后放置到网站目录,再一起同步;或者单独用NAS的远程MySQL备份工具。
一旦发现文件不完整或损坏,立即检查同步命令中的路径和权限,并查看NAS的任务计划日志。
如果你正在处理家用住宅NAS同步跨境网站数据备份,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。
定期检查备份状态,才能确保真的在关键时刻能恢复数据。