统信UOS实现多级文件夹同步有三种方案:一、rclone mount + inotifywait实时监听并触发同步;二、Syncthing原生支持无限层级,配置忽略规则与跨设备高级选项;三、rsync配合systemd定时器执行多级增量备份。

在统信UOS中实现多级文件夹同步,即让一个本地目录及其所有子目录(含多层嵌套)自动、持续地与远程位置保持一致,需避开图形化工具的单层限制,直接通过命令行工具配置递归监听与增量传输逻辑。
用rclone mount + inotifywait实现多级实时同步
该方案适用于阿里云盘、OneDrive等支持WebDAV或OAuth的云存储,能捕获任意深度子目录内的新建、修改、删除事件,并触发精准上传/下载。
第一步:安装必要组件
执行sudo apt install rclone inotify-tools -y。inotifywait不随rclone默认安装,缺失将导致监听失效。
第二步:完成rclone远程配置
运行rclone config,选择n新建远程,类型选webdav或对应云盘编号,填写服务器地址、用户名、密码;若为OneDrive,务必在浏览器授权后,【完整粘贴回调URL至终端,缺字符会导致token为空】。
第三步:创建挂载点并启动挂载
执行mkdir -p ~/CloudMount,再运行rclone mount remote: ~/CloudMount --vfs-cache-mode writes --daemon。挂载成功后,ls ~/CloudMount应可见云端根目录内容。
第四步:编写监听脚本
新建~/sync_watcher.sh,写入以下内容:
#!/bin/bash<br>while inotifywait -e create,modify,delete,move -m ~/LocalMultiLevel; do<br> rclone sync ~/LocalMultiLevel remote:MultiLevelBackup --delete-after --transfers=4<br>done
注意:脚本中
~/LocalMultiLevel是你实际要同步的多级本地目录,路径不能含中文或空格。
第五步:赋予执行权限并后台运行chmod +x ~/sync_watcher.sh,然后执行nohup ~/sync_watcher.sh > /dev/null 2>&1 &。进程将持续监听,子目录内任何变更都会触发全路径同步。
用Syncthing配置多层级共享文件夹
Syncthing原生支持无限层级文件夹同步,无需额外脚本,但需在两台设备间手动配对并启用“忽略权限”选项,否则深层子目录可能因SELinux或umask差异同步失败。
方法一:图形界面添加多级目录
打开浏览器访问http://127.0.0.1:8384→点击“添加文件夹”→在“文件夹路径”中直接输入完整绝对路径,例如/home/user/Projects/ClientA/Phase1/docs→保存后,该路径下所有子目录自动纳入同步范围。
方法二:命令行生成带子目录规则的配置
编辑~/.config/syncthing/config.xml,在对应<folder>节点内插入:<ignore><regex>^\.git/</regex><regex>^node_modules/</regex></ignore>
这能确保多级结构中排除指定子目录,避免同步冗余文件。
方法三:跨设备同步时强制包含深层路径
在另一台设备的Syncthing界面中,点击已共享的文件夹→“共享”标签页→勾选“可发现”和“可连接”,再点击“高级”→开启“忽略设备ID检查”。此操作允许对方设备直接读取你本地路径的完整层级结构,而非仅同步顶层目录。
用rsync配置定时多级增量备份
适合同步至NAS或远程Linux服务器,利用rsync的--recursive(默认启用)与--delete组合,确保本地多级目录结构与远端完全镜像,且每次只传输变动部分。
1、确认源目录存在且可读:ls -d ~/Work/Team/*/Reports/2026/*,验证路径通达性;【若某层子目录不存在,rsync会静默跳过,不会报错】。
2、执行首次全量同步:rsync -av --delete --rsh="ssh -i ~/.ssh/id_rsa_sync" ~/Work/ user@192.168.1.100:/backup/Work/。注意末尾斜杠:~/Work/表示同步内容,~/Work则同步整个目录名。
3、创建systemd用户定时器:
运行mkdir -p ~/.config/systemd/user,新建~/.config/systemd/user/rsync-multi.timer,写入:
[Unit]<br>Description=Sync multi-level Work folder daily<br>[Timer]<br>OnCalendar=daily<br>Persistent=true<br>[Install]<br>WantedBy=timers.target
4、新建对应service文件:~/.config/systemd/user/rsync-multi.service,内容为:
[Unit]<br>Description=Rsync multi-level folder<br>After=network.target<br>[Service]<br>Type=oneshot<br>ExecStart=/usr/bin/rsync -av --delete --rsh="ssh -i %h/.ssh/id_rsa_sync" %h/Work/ user@192.168.1.100:/backup/Work/<br>[Install]<br>WantedBy=default.target
5、启用定时任务:systemctl --user daemon-reload && systemctl --user enable --now rsync-multi.timer。此后每天同一时间自动执行多级同步。

















