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
3、配置客户端
同样在/etc/rsyncd.secrets文件中添加以下上面的密码,但是不需要用户名。
123456
然后添加权限
chmod 600 /etc/rsyncd.secrets
4、以上配置完成直接在客户端同步
rsync -avz --password-file=/etc/rsyncd.secrets root@192.168.0.134::rsyncd /www/data
如果需要每天同步,可以写个定时任务
命令解析
-avz:
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-v, --verbose 详细模式输出
-z, --compress 对备份的文件在传输时进行压缩处理
--password-file=/etc/rsyncd.secrets:指定密码
root@192.168.0.134::rsyncd:账号@服务端ip::认证的模块名
/www/data:要同步到本地的目录
5、当服务器有多个目录同步时,可以在服务端多加两个模块就好。
在服务端多添加两个模块就行,里面的模块名不一致就行,path路径一更换就好。