环境:
服务器A:192.168.7.101
服务器B:192.168.7.102
配置服务器B从服务器A上同步数据。
rsync 版本:
rsync version 3.1.1 protocol version 31
配置:
服务器A:
修改rsync
vi /etc/init.d/rsync
DAEMON=/usr/bin/rsync
RSYNC_ENABLE=true //这里设置为true,默认为false
RSYNC_OPTS=''
RSYNC_DEFAULTS_FILE=/etc/default/rsync
RSYNC_CONFIG_FILE=/etc/rsyncd.conf
RSYNC_PID_FILE=/var/run/rsync.pid
RSYNC_NICE_PARM=''
RSYNC_IONICE_PARM=''
然后在 /etc下创建文件rsyncd.conf。即同步的配置文件。
uid = root
gid = root
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[web] #自定义的同步的节点名称
path = /home/web #配置的可同步的路径
ignore errors
read only = true
list = true
uid = root
hosts allow = 192.168.7.102 #允许的ip
#hosts deny = 0.0.0.0/32
auth users = backup #同步认证的用户名
secrets file = /etc/rsync_server.pass #同步认证的密码
然后在创建密码文件/etc/rsync_server.pass.编辑/etc/rsync_server.pass
数据用户名密码,如:
backup:123456 #必须为这种格式:用户名:密码
服务器B:
在服务器B上创建密码文件 /etc/rsync_client.pass,编辑,输入服务器A的同步密码
即:
123456。
此处只需要填写密码,不需要写用户名。
然后执行如下命令进行同步,也可以把该命令写入脚本中,然后设置为定时执行,就实现了定时同步。
rsync-avzP --password-file=/etc/rsync_client.pass backup@192.168.7.102::web /home/web
这样就把 192.168.7.101 上 /home/web 这个文件夹以及里面的所有内容同步到了192.168.7.102 上的 /home/web