1.选取两台服务器A和B ,同网段的,A为服务端,B为客户端
2.在服务端的操作
#rsync_config____________________start
#created by carlton at 20180306
##rsyncd.conf start##
uid = rsync 用户远端的命令使用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 日志文件
[backup] 模块名称
path = /backup 服务器提供访问的目录
ignore errors 忽略错误
read only = false 可写
list = false 不能列表
hosts allow = 10.0.0.0/24 允许的IP网段
hosts deny = 0.0.0.0/24 拒绝IP网段,此处代表无拒绝
auth users = rsync_backup 认证用户
secrets file = /etc/rsync.password 密码文件
#rsync_config____________________start
创建用户 useradd rsync -s /sbin/nologin -M
启动rsync
rsync --daemon
3.创建访问目录并修改属主,属组
mkdir /backup
chown rsync.rsync /backup
vim /etc/rsync.password
rsync_backup:carlton
chmod 600 /etc/rsync.password
4. 加入开机自启动
echo "/usr/bin/rsync --daemon" >>/etc/rc.d/rc.local
5.客户端B服务器的操作
echo "carlton" >/etc/rsync.password
chmod 600 /etc/rsync.password
6.开始推送文件目录或者文件都可以(B推送A)
rsync -avz /mnt/ rsync_backup@10.0.0.64::backup --password-file=/etc/rsync.password
7.个别参数放在rsync的最后的
--exculde=a 排除a 传送
--exclude={a,b}或者
--exclude=a --exclude=b
8. Rsync服务端排错思路
查看rsync服务配置文件路径是否正确,正确的默认路径为: /etc/rsyncd.conf
查看配置文件里hosts allow,host deny,允许的ip网段是否是允许客户端访问的ip网段。
查看配置文件汇总path参数里的路劲是否存在,权限是否正确(正常应为配置文件中的UID参数对应的数主和组)
查看rsync服务是否启动,查看命令为:ps –ef | grep rsync 或者lsof –i :873
查看iptables防火墙和selinux是否开启允许rsync服务通过,也可考虑关闭。
查看服务端rsync配置的密码文件是否为600的权限,密码文件格式是否正确,正确格式用户名:密码,文件路径和配置文件里的secrect files参数对应。
如果是推送数据,要查看下,配置rsyncd.conf文件中用户是否对模块下目录有可读写的权限。