统信UOS需先安装rsync并启用daemon服务(端口873),或通过SSH免密推送、客户端拉取、硬链接定时备份四种方式实现远程同步与增量备份。

如果您在统信UOS系统中需要实现文件的远程同步与增量备份,但发现rsync命令不可用或同步服务未就绪,则很可能是rsync软件包尚未安装,且守护进程未配置启用。以下是完成rsync安装与远程同步备份配置的完整操作路径:
一、安装rsync并启用守护进程
rsync在统信UOS默认未预装,必须手动安装并启用rsync daemon模式,该模式使用独立端口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/
4、编辑/etc/rsyncd.conf,按需定义模块名称、物理路径、读写权限及认证方式,例如添加如下段落:
[backup]
comment = UOS user data backup module
path = /backup/data
read only = no
auth users = uosuser
secrets file = /etc/rsyncd.secrets
5、创建认证密钥文件:sudo echo "uosuser:yourpassword" > /etc/rsyncd.secrets,并设置权限:sudo chmod 600 /etc/rsyncd.secrets
6、启动服务并验证监听状态:sudo systemctl start rsync.service,随后执行sudo ss -tuln | grep :873确认端口已就绪
二、基于SSH通道的免密推送同步
无需开启rsync daemon,复用系统已有的SSH服务进行加密传输,适用于已有密钥体系的环境,避免额外端口暴露与配置复杂度。
1、若未配置免密登录,生成专用密钥对:ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_uos -N ""
2、将公钥部署至目标服务器(以IP 192.168.1.100为例):ssh-copy-id -i ~/.ssh/id_rsa_uos.pub user@192.168.1.100
3、执行带删除策略的增量同步: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、同步后立即校验目标端文件列表与时戳:ssh -i ~/.ssh/id_rsa_uos user@192.168.1.100 'ls -lt /backup/uos_docs/ | head -5'
三、配置rsync客户端拉取式同步
当远程服务器已运行rsync daemon且开放模块时,本地UOS可作为客户端直接拉取数据,适用于集中备份中心场景,不依赖SSH账户权限。
1、在本地创建认证凭据文件:echo "uosuser:yourpassword" > ~/.rsync_password,并设限:chmod 600 ~/.rsync_password
2、执行模块化拉取命令,指定远程主机与模块名:rsync -av --password-file=~/.rsync_password uosuser@192.168.1.100::backup /home/user/backup_local/
3、如需排除临时文件,追加--exclude=".tmp"或--exclude="*.log"参数
4、验证拉取完整性:diff -r /home/user/backup_local /home/user/docs | head -10比对关键子目录结构差异
四、建立硬链接式定时增量备份
通过crontab结合--link-dest参数构建时间戳分层备份目录,每次仅存储变更内容,历史版本间共享未改动文件的inode,极大节省磁盘空间。
1、创建备份脚本/usr/local/bin/backup_daily.sh,内容包含:
#!/bin/bash
SRC="/home/user/docs/"
DST="/backup/daily/"
LATEST=$(ls -t $DST | head -1)
DATE=$(date +%Y%m%d_%H%M)
rsync -a --delete --link-dest="$DST$LATEST" "$SRC" "$DST$DATE/"
2、赋予执行权限:sudo chmod +x /usr/local/bin/backup_daily.sh
3、编辑系统级定时任务:sudo crontab -e,添加行:0 3 * * * /usr/local/bin/backup_daily.sh
4、首次运行前手动创建基础目录:sudo mkdir -p /backup/daily,并确保UOS用户对目标路径有写权限

















