1、首选检查是否系统安装rsync
rpm -qa | grep rsync
rsync使用873端口,如果使用防火墙记得开放端口
2、配置服务端
vim /etc/rsyncd.conf
配置如下
uid = nobody #进行备份的用户 nobody为任何用户
gid = nobody #进行备份的组 nobody为任何组
use chroot = no #不使用chroot
max connections = 10 #最大连接数
log file = /var/log/rsyncd.log #日志文件
[rsyncd] #这里是认证的模块名(客户端需要指定)
path = /www/sfs/wxrss #同步的目录,将这个路径的内容同步至客户端
ignore errors # 可以忽略一些无关的IO错误
read only = yes #只读
list = no #不允许列清单
anth users = root #认证的用户名
secrets file = /etc/rsyncd.secrets #密码文件存放地址
配置密码
vim /etc/rsyncd.secrets
用户名:密码
root:123567
添加权限
chmod 600 /etc/rsyncd.secrets
启动rsync: systemctl start rsyncd
centos8:启动rsync(rsync --daemon --config=/etc/rsyncd.conf)
3、配置客户端
同样在/etc/rsyncd.secrets文件中添加以下上面的密码,但是不需要用户名。
123456
然后添加权限
chmod 600 /etc/rsyncd.secrets
启动客户端的rsyncd
systemctl start rsyncd
4、以上配置完成直接在客户端同步
rsync -avz --password-file=/etc/rsyncd.secrets root@192.168.0.134::rsyncd /www/data
rsync -avz --exclude=“bak” ##排除某个目录
如果需要每天同步,可以写个定时任务
命令解析
-avz:
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-v, --verbose 详细模式输出
-z, --compress 对备份的文件在传输时进行压缩处理
–password-file=/etc/rsyncd.secrets:指定密码
root@192.168.0.134::rsyncd:账号@服务端ip::认证的模块名
/www/data:要同步到本地的目录
*5、当服务器有多个目录同步时,可以在服务端多加两个模块就好。*
在服务端多添加两个模块就行,里面的模块名不一致就行,path路径一更换就好。
服务端多添加两个模块就行,里面的模块名不一致就行,path路径一更换就好。*
[外链图片转存中…(img-QaOHOntr-1617328678127)]