Linux 电脑备份到 Synology NAS 全教程:rsync/SMB/NFS 方法 + 故障解决
许多 Linux 用户(如使用 Ubuntu 办公、CentOS 搭建服务器的用户)需要将电脑中的关键数据(如文档、代码、数据库文件)备份到 Synology NAS,以避免本地硬盘损坏、误删除导致的数据丢失。但 Linux 系统无默认的 “NAS 备份向导”,用户常困惑于 “该用 rsync 还是 SMB”“NAS 端需要开启哪些服务”“怎么设置定时自动备份”。本文基于 Synology 官方知识库,系统梳理 Linux 电脑备份到 Synology NAS 的核心要点,从准备工作到 3 种备份方法的实操,再到故障排查,帮你彻底掌握 Linux 数据的 NAS 备份方案。
一、先确认:Linux 电脑备份到 Synology NAS 的前提条件
备份前需确保NAS 服务启用、Linux 工具安装、网络与权限达标,否则会导致备份失败。具体要求如下表,建议逐一核对(覆盖 Ubuntu 20.04+/CentOS 8+/Debian 11 + 主流发行版):
条件类型 | 具体要求 | 验证与操作方法 |
Synology NAS 配置 | 1. 启用对应备份服务(根据方法选择): - rsync 备份:启用 “rsync 服务”; - SMB 备份:启用 “SMB 服务”; - NFS 备份:启用 “NFS 服务”;2. 创建用于备份的 “共享文件夹”(如命名 “Linux_Backup”,避免用默认 “homes” 文件夹,便于权限管理);3. 新建或授权 NAS 用户(如 “linux_backup”),确保该用户对共享文件夹有 “读写权限”(避免仅 “读取” 权限导致备份无法写入);4. NAS 与 Linux 电脑处于同一局域网(本地备份),或已配置 NAS 远程访问(如 QuickConnect、端口转发,适合异地备份)。 | 1. 服务启用:NAS 登录 DSM→“控制面板→文件服务”,勾选对应服务(如 rsync 服务需勾选 “启用 rsync 服务”);2. 共享文件夹创建:DSM→“控制面板→共享文件夹→创建”,输入名称 “Linux_Backup”,权限页面对 “linux_backup” 用户设为 “读写”;3. 网络验证:NAS 端 “控制面板→网络” 查看静态 IP(如 192.168.1.10),Linux 端终端输入ping 192.168.1.10,能正常响应则网络连通。 |
Linux 电脑配置 | 1. 安装对应备份工具: - rsync 备份:Linux 默认预装 rsync,无则执行sudo apt install rsync(Ubuntu/Debian)或sudo yum install rsync(CentOS); - SMB 备份:安装 smbclient(sudo apt install smbclient cifs-utils或sudo yum install cifs-utils); - NFS 备份:安装 nfs-common(sudo apt install nfs-common或sudo yum install nfs-utils);2. 确认待备份目录存在且有读取权限(如/home/user/Documents、/var/www/html,避免备份无权限的系统目录);3. (可选)创建本地临时备份目录(如/mnt/nas_backup,用于挂载 NAS 共享文件夹)。 | 1. 工具验证:终端输入rsync --version(rsync)、smbclient --version(SMB)、showmount --version(NFS),显示版本号则安装成功;2. 权限验证:终端输入ls -ld /home/user/Documents,确保所有者或组有 “r”(读取)权限(如显示drwxr-xr-x)。 |
二、核心方法:3 种 Linux 电脑备份到 Synology NAS 的详细步骤
根据 Linux 用户需求(增量备份、简单操作、高性能),Synology 官方推荐 rsync、SMB、NFS 三种方法,每种方法的适用场景与操作差异如下,可按需选择:
方法 1:rsync 备份(推荐,增量备份 + 定时自动,适合服务器用户)
rsync 是 Linux 下的经典备份工具,支持 “增量备份”(仅备份变化的文件,节省带宽与时间),且可通过 crontab 设置定时任务,适合需要长期自动备份的场景(如 CentOS 服务器的数据库文件备份)。
步骤 1:NAS 端启用并配置 rsync 服务
- 登录 NAS 的 DSM 桌面→“控制面板→文件服务→rsync”,勾选 “启用 rsync 服务”;
- (可选)配置 rsync 模块(便于管理备份路径):点击 “rsync 模块→新增”,设置:
- 「模块名称」:如 “linux_backup_mod”(自定义,后续 Linux 端需用到);
- 「对应共享文件夹」:选择之前创建的 “Linux_Backup”;
- 「允许访问的 IP 地址」:输入 Linux 电脑的 IP(如 192.168.1.15,限制仅该 IP 访问,提升安全性);
- 「认证」:勾选 “启用认证”,输入 NAS 的用户名(如 “linux_backup”)和密码(后续 Linux 端备份时需输入);
- 点击 “确定”,rsync 服务配置完成。
步骤 2:Linux 端手动执行 rsync 备份(测试连通性)
- 打开 Linux 终端(Ubuntu 按 Ctrl+Alt+T,CentOS 通过 SSH 登录);
- 执行 rsync 备份命令(核心格式,需根据实际情况修改参数):
# 本地目录 → NAS rsync模块(增量备份,保留文件权限)rsync -avz --delete /home/user/Documents/ linux_backup@192.168.1.10::linux_backup_mod/Documents_backup/
- --delete:删除 NAS 端已不存在的本地文件(保持两端文件一致,可选,谨慎使用);
- /home/user/Documents/:Linux 待备份的本地目录(末尾加 “/” 表示备份目录内文件,不加则备份目录本身);
- linux_backup@192.168.1.10::linux_backup_mod/Documents_backup/:NAS 端路径(格式:NAS用户名@NAS IP::rsync模块名/目标子目录/);
- 首次执行会提示 “是否继续连接”,输入 “yes”,然后输入 NAS 用户 “linux_backup” 的密码,按回车开始备份;
- 备份完成后,NAS 端打开 “Linux_Backup→Documents_backup”,能看到本地 Documents 目录的文件,说明测试成功。
步骤 3:设置 Linux 定时自动备份(crontab)
- 创建备份脚本(便于管理命令,避免直接写 crontab):
# 新建脚本文件sudo nano /home/user/backup_to_nas.sh
- 脚本内容(复制以下代码,修改为你的实际路径与参数):
#!/bin/bash# Linux备份到Synology NAS的rsync脚本# 备份日志路径(便于排查失败原因)LOG_FILE="/var/log/nas_backup.log"# 记录备份开始时间echo "=== 备份开始:$(date +'%Y-%m-%d %H:%M:%S') ===" >> $LOG_FILE# rsync备份命令rsync -avz --delete /home/user/Documents/ linux_backup@192.168.1.10::linux_backup_mod/Documents_backup/ >> $LOG_FILE 2>&1# 记录备份结束时间与结果if [ $? -eq 0 ]; thenecho "=== 备份成功:$(date +'%Y-%m-%d %H:%M:%S') ===" >> $LOG_FILEelseecho "=== 备份失败:$(date +'%Y-%m-%d %H:%M:%S') ===" >> $LOG_FILEfi
- 保存脚本:按 Ctrl+O,回车确认,再按 Ctrl+X 退出 nano;
- 赋予脚本执行权限:
sudo chmod +x /home/user/backup_to_nas.sh
- 设置定时任务(如每天凌晨 2 点执行备份):
# 编辑crontabsudo crontab -e
- 在文件末尾添加一行(时间格式:分 时 日 月 周,此处 “0 2 * * *” 表示每天 2 点 0 分):
0 2 * * * /home/user/backup_to_nas.sh
- 保存退出:Ctrl+O→回车→Ctrl+X,crontab 会自动生效,后续每天凌晨 2 点会自动执行备份并记录日志。
方法 2:SMB 备份(简单,适合图形界面用户,如 Ubuntu 桌面版)
SMB 是跨平台协议,Linux 可通过挂载 NAS 的 SMB 共享文件夹,将备份视为 “本地磁盘复制”,操作简单,适合不熟悉命令行的桌面用户(如 Ubuntu 22.04 桌面版)。
步骤 1:NAS 端启用并配置 SMB 服务
- DSM→“控制面板→文件服务→SMB”,勾选 “启用 SMB 服务”,点击 “应用”;
- 进入 “共享文件夹→Linux_Backup→编辑→SMB”,勾选 “启用 SMB 服务”,点击 “确定”(确保 “linux_backup” 用户对该文件夹有 “读写” 权限)。
步骤 2:Linux 端挂载 SMB 共享文件夹
- 创建本地挂载点(如/mnt/nas_smb):
sudo mkdir -p /mnt/nas_smb
- 临时挂载 SMB 共享(测试连通性,重启后失效,适合临时备份):
sudo mount -t cifs //192.168.1.10/Linux_Backup /mnt/nas_smb -o username=linux_backup,password=你的NAS密码,uid=1000,gid=1000
- -t cifs:指定文件系统类型为 SMB(CIFS 是 SMB 的实现);
- uid=1000,gid=1000:将挂载文件夹的所有者设为当前 Linux 用户(避免权限不足,可通过id命令查看当前用户的 uid/gid,通常桌面用户 uid 为 1000);
- 测试挂载:输入ls /mnt/nas_smb,能看到 NAS 共享文件夹的内容,说明挂载成功。
步骤 3:Linux 端执行 SMB 备份(图形界面 / 命令行)
- 图形界面操作(适合桌面用户):
- 打开 Ubuntu 文件管理器(Nautilus),左侧会显示 “网络→192.168.1.10”(NAS 设备),点击进入;
- 输入 NAS 用户名 “linux_backup” 和密码,即可看到 “Linux_Backup” 共享文件夹;
- 直接拖拽本地待备份目录(如 “文档”)到该共享文件夹,完成备份(类似复制到 U 盘)。
- 命令行操作(适合脚本化):
# 复制本地Documents到NAS的SMB挂载点cp -r /home/user/Documents/* /mnt/nas_smb/Documents_backup/
步骤 4:(可选)设置开机自动挂载 SMB(避免每次手动挂载)
- 编辑/etc/fstab文件(系统启动时自动挂载配置):
- 在末尾添加一行:
//192.168.1.10/Linux_Backup /mnt/nas_smb cifs username=linux_backup,password=你的NAS密码,uid=1000,gid=1000 0 0
- 保存退出,执行sudo mount -a使配置生效,后续 Linux 开机后会自动挂载 SMB 共享。
方法 3:NFS 备份(高性能,适合 Linux 服务器,如 CentOS)
NFS 是 Linux 原生协议,传输效率高于 SMB,适合需要备份大文件(如数据库备份文件、视频素材)的场景,尤其适合 CentOS 服务器的后台备份。
步骤 1:NAS 端启用并配置 NFS 服务
- DSM→“控制面板→文件服务→NFS”,勾选 “启用 NFS 服务”,点击 “应用”;
- 进入 “共享文件夹→Linux_Backup→编辑→NFS”,点击 “新增”,设置:
- 「 squash」:选择 “映射到 admin” 或 “映射到用户”(确保权限匹配,新手推荐 “映射到 admin”);
- 点击 “确定”,NFS 配置完成。
步骤 2:Linux 端挂载 NFS 共享文件夹
- 创建本地挂载点(如/mnt/nas_nfs):
sudo mkdir -p /mnt/nas_nfs
- 临时挂载 NFS 共享(测试):
sudo mount -t nfs 192.168.1.10:/volume1/Linux_Backup /mnt/nas_nfs
- 路径解释:192.168.1.10:/volume1/Linux_Backup中,“/volume1” 是 NAS 共享文件夹所在的存储池路径(DSM 中 “存储管理器→存储池” 可查看,通常默认 “volume1”);
- 测试挂载:ls /mnt/nas_nfs能看到 NAS 文件,说明成功。
步骤 3:Linux 端执行 NFS 备份(命令行 / 脚本)
- 执行备份命令(复制本地目录到 NFS 挂载点):
# 适合大文件的增量备份(用rsync结合NFS,效率更高)rsync -avz /var/lib/mysql/ /mnt/nas_nfs/mysql_backup/
- 此处结合 rsync 的增量特性,避免每次全量复制大文件;
- 设置定时任务(同方法 1 的 crontab,将脚本中的 NAS 路径改为/mnt/nas_nfs即可)。
三、常见问题:Linux 备份到 Synology NAS 的故障解决
备份过程中,“权限不足”“挂载失败”“定时任务不执行” 是高频问题,以下是官方推荐的解决方案:
故障现象 | 可能原因 | 分步解决方法 |
rsync 备份提示 “Permission denied”(权限被拒) | 1. NAS 用户 “linux_backup” 对共享文件夹无 “写入” 权限;2. Linux 本地待备份目录无 “读取” 权限;3. rsync 模块配置中 “允许访问的 IP” 错误。 | 1. NAS 端:进入 “共享文件夹→Linux_Backup→权限”,确认 “linux_backup” 用户权限为 “读写”;2. Linux 端:执行sudo chmod -R 755 /home/user/Documents(赋予读取权限,-R 表示递归);3. NAS 端:检查 rsync 模块的 “允许访问的 IP” 是否为 Linux 电脑的实际 IP(如 192.168.1.15,而非 192.168.1.10)。 |
SMB 挂载提示 “mount error (13): Permission denied” | 1. NAS SMB 服务未启用;2. 输入的 NAS 用户名 / 密码错误;3. Linux 挂载时未指定 uid/gid,导致权限不匹配。 | 1. NAS 端:确认 “SMB 服务” 已勾选并应用;2. 重新执行挂载命令,仔细输入密码(可先通过smbclient //192.168.1.10/Linux_Backup -U linux_backup测试账号密码是否正确);3. 挂载命令中添加 “uid=1000,gid=1000”(替换为你的实际 uid/gid,通过id命令查看)。 |
crontab 定时备份不执行,日志无记录 | 1. 脚本路径错误(crontab 中写的路径与实际脚本路径不一致);2. 脚本无执行权限;3. crontab 环境变量问题(如 rsync 路径未指定绝对路径)。 | 1. 核对脚本路径:执行ls /home/user/backup_to_nas.sh,确认文件存在,crontab 中的路径需完全一致;2. 赋予执行权限:sudo chmod +x /home/user/backup_to_nas.sh;3. 脚本中 rsync 用绝对路径:将 “rsync” 改为/usr/bin/rsync(可通过which rsync查看绝对路径)。 |
NFS 备份速度慢(低于 10MB/s) | 1. 用 WiFi 连接(无线传输速率低);2. NAS 或 Linux 电脑的网卡为百兆网卡(非千兆);3. NFS 版本过低(默认用 NFSv3,未启用 NFSv4)。 | 1. 改为有线连接:NAS 和 Linux 电脑均通过网线连接路由器千兆端口;2. 确认网卡速率:Linux 端ethtool eth0查看 “Speed” 是否为 1000Mb/s(eth0 为网卡名,需根据实际修改);3. 启用 NFSv4:NAS 端 “NFS 设置→默认 NFS 版本” 选择 “NFSv4”,重新挂载 NFS。 |
四、优化建议:提升 Linux 备份到 Synology NAS 的安全性与效率
- 备份加密(敏感数据):
- 若备份包含密码文件、数据库等敏感数据,可先在 Linux 端用 tar+gzip 加密压缩,再备份到 NAS:
# 加密压缩Documents目录(设置密码,备份后删除本地压缩包)tar -zcvf - /home/user/Documents | openssl des3 -salt -k 你的加密密码 -out /home/user/docs_backup.des3# 上传加密包到NASrsync -avz /home/user/docs_backup.des3 linux_backup@192.168.1.10::linux_backup_mod/# 删除本地压缩包rm /home/user/docs_backup.des3
- 定期验证备份有效性:
- 每月手动恢复 1 个小文件(如/mnt/nas_smb/Documents_backup/test.txt)到 Linux 本地,确认文件能正常打开,避免 “备份成功但文件损坏”;
- 查看备份日志:cat /var/log/nas_backup.log,确认无 “error”“failed” 等错误关键词。
- NAS 空间管理:
- 在 NAS 端设置 “共享文件夹配额”:DSM→“共享文件夹→Linux_Backup→编辑→配额”,设置最大容量(如 100GB),避免备份文件占满 NAS 存储;
- 启用 “文件历史版本”:DSM→“共享文件夹→Linux_Backup→编辑→高级→文件历史版本”,保留 30 天内的历史版本,便于恢复误修改的文件。
总结
Linux 电脑备份到 Synology NAS 的核心是 “选对方法 + 配置权限”——rsync 适合服务器用户的增量自动备份,SMB 适合桌面用户的简单拖拽备份,NFS 适合大文件的高性能备份。操作时需重点关注 NAS 服务启用、Linux 工具安装、权限匹配三个关键点,遇到故障优先排查日志(如 rsync 输出、crontab 日志)。通过定时任务 + 加密备份,可实现 Linux 数据的长期安全存储,彻底避免本地硬件故障导致的数据丢失风险。