首先安装rsync并验证版本,然后配置/etc/rsyncd.conf设置服务参数,创建认证文件与共享目录,启动rsync守护进程并监听873端口,最后通过客户端使用用户名密码同步数据。

在Linux系统中,rsync是一个非常高效的文件同步工具,支持本地和远程数据同步。它不仅可以用于备份,还能作为轻量级的文件同步服务使用。通过配置rsync守护进程(daemon mode),可以搭建一个独立运行的rsync服务,实现多台服务器之间的文件同步。
安装rsync
大多数Linux发行版默认已安装rsync,若未安装可使用以下命令进行安装:
- CentOS/RHEL:yum install rsync -y
- Ubuntu/Debian:apt-get install rsync -y
安装完成后,可通过rsync --version验证是否安装成功。
配置rsync服务
rsync服务默认不启用守护模式,需要手动配置以独立进程方式运行。
1. 编辑主配置文件
创建或编辑配置文件/etc/rsyncd.conf:
uid = root gid = root use chroot = no max connections = 10 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock [backup] path = /data/backup comment = Backup Directory read only = no list = yes auth users = syncuser secrets file = /etc/rsync.passwd
说明:
- uid/gid:运行rsync进程的用户身份,建议根据实际目录权限设置
- path:共享模块对应的本地路径
- auth users:允许访问该模块的用户名
- secrets file:存放用户名和密码的文件,格式为“用户名:密码”
2. 创建认证文件
创建密码文件/etc/rsync.passwd:
syncuser:yourpassword设置权限为600:
chmod 600 /etc/rsync.passwd3. 创建共享目录
mkdir -p /data/backup chown root:root /data/backup chmod 755 /data/backup启动并管理rsync服务
rsync守护进程可通过xinetd或直接运行启动。
方法一:使用独立进程启动
rsync --daemon --config=/etc/rsyncd.conf设置开机自启(Systemd):
创建服务文件/etc/systemd/system/rsyncd.service:
[Unit] Description=rsync daemon After=network.target [Service] ExecStart=/usr/bin/rsync --daemon --config=/etc/rsyncd.conf Restart=always [Install] WantedBy=multi-user.target
然后执行:
systemctl enable rsyncd systemctl start rsyncd检查端口是否监听(默认端口873):
ss -tulnp | grep 873客户端同步文件
从客户端推送或拉取文件到rsync服务端。
拉取文件(get):
rsync -av syncuser@server_ip::backup /local/path推送文件(put):
rsync -av /local/path syncuser@server_ip::backup使用密码文件避免交互输入:
创建客户端密码文件(如~/.rsync.pass):
yourpassword chmod 600 ~/.rsync.pass同步命令指定密码文件:
rsync -av --password-file=~/.rsync.pass /local/path syncuser@server_ip::backup基本上就这些。配置好后,可结合cron定时任务实现自动同步,适合做日志收集、配置文件分发或简单备份场景。注意开放防火墙873端口,并控制访问权限,确保安全。









