Rsync同步

实现rsync文件同步,且不需要手工输入密码,思路如下
测试环境:
服务端:Centos7
客户端:MacOS 10.15.7

1、配置服务器端需要将rsync程序以 daemon 模式运行

1,编辑同步配置文件

vim /etc/rsyncd.conf

写入以下内容:

uid = root
gid = root
port = 873
read only = no
# 允许访问的客户端ip,多个用逗号分隔
hosts allow = 222.128.9.86

# 运行同步的模块,可配置多个
[epwxWork]
       comment = this is module for backup    
       path = /usr/local/src/
       auth users = root
       secrets file = /etc/rsyncd.pass

2,创建密码文件

vim /etc/rsyncd.pass

写入以下内容(格式为用户名:密码,用户名与模块的auth users相同):

root:eplugger123

设置密码文件权限(必须做)

chmod 600 /etc/rsyncd.pass

3,查看当前rsync进程,杀掉并重启启动。

ps -ef|grep rsync  |grep -v grep
kill 进程号
rsync  --daemon
#再次查看是否已运行
ps -ef|grep rsync  |grep -v grep

4,添加防火墙服务端口

firewall-cmd --permanent --zone=public --add-service=rsyncd
systemctl restart firewalld.service
# 确认已启用
firewall-cmd --list-all

2、客户机

1,创建密码文件rsyncd.pass(为了免手工输入密码)
/路径/rsyncd.pass
写入密码(无用户名),密码与服务端配置相同

设置密码文件权限(必须做)

chmod 600 /路径/rsyncd.pass

2,执行同步

# 其中 epwxWork 为模块名
# 其中 root 与服务端的用户名配置相同
rsync -rltzuq --delete --exclude='.*' 本地路径 root@服务端ip::epwxWork --password-file=/路径/rsyncd.pass

如果没有很多模块,也可设置全局rsync密码,这样就不需要创建密码文件了,也不需要--password-file参数了:

export  RSYNC_PASSWORD=密码

取消环境变量:

unset   RSYNC_PASSWORD

你可能感兴趣的:(Rsync同步)