我这里使用的是centos7
一、安装rsync
yum install rsync -y
二、f服务器修改配置
这里安装完成以后rsyncd.conf文件是不存在的直接vim新增即可
vim /etc/rsyncd.conf
参数详情
[test]这个表示模块
path表示系统的路径
read only如果是yes既只读no是读写
hosts allow这里表示10.1.10.*这个网段都放行后面24表示掩码deny则表示其他网段不放
auth users这个是可以访问[test]这个模块的账号
secrets file就是账号密码文件(使用rsync需要密码没配置可以不需要不过不建议因为不安全)
uid = root
gid = root
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[test]
path = /home/test
ignore errors
read only = false
list = false
hosts allow = 10.1.10.0/24
hosts deny = 0.0.0.0/32
auth users = test
secrets file = /etc/rsync.password
三、配置服务器用户和密码文件
vim /etc/rsync.password
#用户名:密码
test:test1234
这里就是用test账号对应的密码是test1234
记住这里要讲/etc/rsync.password权限修改为600不然会报错
chmod 600 /etc/rsync.password
三、启动服务
/usr/bin/rsync --daemon
需要设置开机自启动可以配置到rc.local(记得看看rc.local权限是不是755不然开机是不执行的哦)
四、客户端配置
客户端只需要配置一下密码文件注意这里只要输入密码即可不需要账号,权限也要设置为600
vim /etc/rsync.password
test1234
chmod 600 /etc/rsync.password
用下面的命令可以从服务端取文件到本机/opt目录下
test@10.1.10.11::test 这个的意思就是用户名@服务器IP::模块名称如果是根目录后面可接其他目录即可取数据
如果是客户端要推送过去则把前后服务器和本地文件夹位置调一下即可
rsync -avz --password-file=/etc/rsync.password test@10.1.10.11::test /opt/
五、如果客户端是windows的怎么办呢?
看一下我前面的文章,有介绍windows同步文件上面哈!
https://blog.csdn.net/zetion_3/article/details/103575905
六、报错
一般如果网络没问题就是上面密码文件没设置600权限的问题报错如下
还有就是要确认客户端到服务器的873端口有放行,看下火墙有没有限制可以用telnet试试
这个错误一般就是火墙没开或网络不通
Centos7火墙加873
firewall-cmd --zone=public --add-port=873/tcp --permanent
firewall-cmd --reload
reload是重启