配置rsyncd,走rsync协议(不借助ssh协议)同步文件

最小可用的完整配置流程,支持CentOS 7/8、Rocky系统

一.安装服务端

1.安装rsync
yum -y install rsync

 

2.设置主配置文件 /etc/rsyncd.conf

# 全局参数
uid = root                          # 运行时身份,推荐 root,避免权限错乱
gid = root
use chroot = no                     # 不 chroot,方便备份软链、绝对路径
max connections = 10
timeout = 300
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
port = 873                          # 默认就是 873,写不写都行

# 模块(客户端看到的“共享名”)
[backup]
    path = /data/backup             # 真正要同步的目录,需提前建好
    comment = "公共备份目录"
    read only = no                  # 允许客户端上传
    list = yes                      # 允许列模块
    auth users = bakuser            # 虚拟账号,与系统账号无关
    secrets file = /etc/rsyncd.secrets
    hosts allow = 192.168.0.0/24    # 按需限制源 IP
    # hosts deny = *                # 黑名单写法

 

3.设置虚拟账号口令文件
echo "bakuser:123456" > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets

 

4.设置systemctl服务

cat >/etc/systemd/system/rsyncd.service <<'EOF'
[Unit]
Description=Rsync Server
After=network.target

[Service]
Type=forking
PIDFile=/var/run/rsyncd.pid
ExecStart=/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

 

5.启动服务

systemctl daemon-reload
systemctl enable --now rsyncd

 

6.如果不能使用
关闭selinux

sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#查看
getenforce

#临时设置
sudo setenforce 0

  

 

二.客户端使用

1.列文件
rsync rsync://bakuser@服务器IP/backup/

 

2.上传(交互输密码)
rsync -avz /local/dir/ rsync://bakuser@服务器IP/backup/

 

3.上传(密码文件,适合脚本
echo '123456' > /etc/rsync.pass
chmod 600 /etc/rsync.pass
rsync -avz --password-file=/etc/rsync.pass /local/dir/ rsync://bakuser@服务器IP/backup/

 

4.下载
rsync -avz --password-file=/etc/rsync.pass rsync://bakuser@服务器IP/backup/ /local/down/

 

posted @ 2025-12-15 14:55  铿锵有力自信且坚定  阅读(5)  评论(0)    收藏  举报