rsync是统信UOS实现远程同步与增量备份的首选工具,支持daemon模式、SSH隧道、定时任务、拉取备份及一致性校验五种方法。

如果您在统信UOS系统中需要实现文件的远程同步与增量备份,rsync是默认未预装但高度适配的首选工具。以下是多种可行的同步与备份方法:
一、安装并启用rsync服务
统信UOS默认未安装rsync,需手动安装并配置守护进程以支持daemon模式同步。该方式不依赖SSH,具备独立端口(873)和虚拟账号机制,安全性更高。
1、挂载UOS安装镜像或配置本地APT源,执行安装命令:sudo apt update && sudo apt install rsync
2、启用rsync守护进程:编辑/etc/default/rsync,将RSYNC_ENABLE=false改为RSYNC_ENABLE=true
3、复制示例配置并修改:执行sudo cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/,再使用vim编辑/etc/rsyncd.conf
4、在配置文件中设置模块路径、读写权限及认证信息,例如指定path = /backup/data、read only = no、auth users = uosuser
5、启动服务:sudo systemctl start rsync.service,并确认监听状态:sudo netstat -tuln | grep :873
二、基于SSH隧道的推送式同步
利用已有的SSH服务进行加密传输,无需额外开启rsync daemon,适合已有密钥认证环境,操作轻量且兼容性强。
1、在本地生成免密SSH密钥对(若尚未配置):ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_uos
2、将公钥部署至目标服务器:ssh-copy-id -i ~/.ssh/id_rsa_uos.pub user@192.168.1.100
3、执行增量同步命令,使用-a保留属性、-v显示过程、--delete保持目标与源一致:rsync -av --delete --rsh="ssh -i ~/.ssh/id_rsa_uos -o StrictHostKeyChecking=no" /home/user/docs/ user@192.168.1.100:/backup/uos_docs/
4、验证同步结果:登录远程服务器执行ls -l /backup/uos_docs/确认文件完整性与时戳
三、配置定时增量备份任务
结合systemd timer或crond,实现无人值守的周期性增量备份,每次仅传输变更部分,节省带宽与存储空间。
1、创建备份脚本/usr/local/bin/backup_uos.sh,内容包含rsync命令及时间戳目录命名逻辑
2、赋予执行权限:sudo chmod +x /usr/local/bin/backup_uos.sh
3、编辑定时任务:sudo crontab -e,添加行:0 2 * * * /usr/local/bin/backup_uos.sh(每日凌晨2点执行)
4、脚本内使用--link-dest参数指向最近一次完整备份目录,实现硬链接式增量存档,例如:rsync -a --link-dest=/backup/last_full /data/ /backup/20260321/
四、使用rsync daemon模式拉取备份
在远程服务器运行rsync守护进程,本地UOS作为客户端主动拉取数据,适用于远程端为可信备份中心且需集中管控的场景。
1、远程服务器已配置rsyncd模块(如[backup]),并开放873端口防火墙规则
2、本地UOS测试连接:rsync user@192.168.1.100::backup,验证模块列表与权限
3、执行拉取同步:rsync -av user@192.168.1.100::backup /local/backup/,其中::表示daemon协议
4、如需认证,提前在本地创建密码文件/etc/rsync.pass,权限设为600,并通过--password-file参数调用:rsync -av --password-file=/etc/rsync.pass user@192.168.1.100::backup /local/backup/
五、校验同步一致性并排除干扰项
确保同步结果准确可靠,需在传输后比对源与目标的文件数量、大小及校验和,同时规避常见路径陷阱与权限问题。
1、同步前记录源端文件摘要:find /data -type f -exec md5sum {} \; > /tmp/src_md5.txt
2、同步完成后,在目标端生成对应摘要:find /backup/data -type f -exec md5sum {} \; > /tmp/dst_md5.txt
3、比对差异:diff /tmp/src_md5.txt /tmp/dst_md5.txt | grep "^>",检查缺失或不一致项
4、注意路径末尾斜杠行为:/data/仅同步目录内容,/data则同步目录本身;同步时务必统一规范
5、若遇权限拒绝错误,确认UOS本地用户对源目录有读取权,远程目标目录对目标用户有写入权,并检查SELinux或AppArmor策略限制

















