参考了这几篇文章
https://www.cnblogs.com/jianchen013/p/12016056.html
https://www.cnblogs.com/f-ck-need-u/p/7220009.html
【服务端配置】
安装rsync
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
fake super = yes
[test]
path = /home/test/images
read only = false
list = false
hosts allow = 192.168.56.105
hosts deny = *
auth users = rsync_test #这个用户要自行创建,sudo useradd -m -g rsync rsync_test,注意先创建rsync组
secrets file = /etc/rsyncd.secrets #daemon模式时的密码文件,可以从中读取密码实现非交互式。注意,这不是远程shell认证的密码,而是rsync模块认证的密码。
/etc/rsyncd.secrets 文件权限修改成600,采用username:passwd形式存储,一行一个
以daemon方式启动
sudo rsync --daemon --config=配置文件路径
【客户端】
安装rsync,
创建密码本,注意这个密码本里面只需要密码,不需要用户名,这个搞得我纠结了1小时
/etc/rsyncd.passwd 采用passwd形式存储,一行一个
【测试】
从客户端拉取服务端数据
rsync -avzP --delete rsync_test@192.168.56.104::test /home/test/images --password-file=/etc/rsyncd.passwd