Linux下使用rsync同步数据

环境:

服务器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  [email protected]::web /home/web

这样就把 192.168.7.101 上 /home/web 这个文件夹以及里面的所有内容同步到了192.168.7.102 上的 /home/web

你可能感兴趣的:(Linux下使用rsync同步数据)