10.11.11.109为备份机器,它上面的rsync配置如下:
-
uid = httpuser
-
gid = webgroup
-
use chroot = no
-
max connections = 50
-
strict modes = yes
-
pid file = /var/run/rsyncd.pid
-
lock file = /var/run/rsyncd.lock
-
log file = /var/run/rsyncd.log
-
-
[web104]
-
path = /usr/backup/web/***.***.56.104
-
comment = web file
-
ignore errors
-
read only = no
-
write only = no
-
hosts allow = 10.11.11.0/255.255.255.0
-
hosts deny = *
-
list = false
-
auth users = webuser
-
secrets file = /etc/web.pass
-
-
[web100]
-
path = /usr/backup/web/***.***.56.100
-
comment = web file
-
ignore errors
-
read only = no
-
write only = no
-
hosts allow = 10.11.11.0/255.255.255.0
-
hosts deny = *
-
list = false
-
auth users = webuser
-
secrets file = /etc/web.pass
在机器上创建httpuser和webgroup组,webuser是任意指定的,并不一定非要是系统的用户!
创建/usr/backup/web/***.***.***.***目录,并将该目录是所有者设置为httpuser:webgroup,权限最好设置为777,以免出现写入的问题!因为是通过内网备份的(外网不通),权限不需要设置太严密!在备份机器上启动rsync服务!
109上的web.pass文件内容:
[root@IDC-D-2638 web]# cat /etc/web.pass
:前是用户名后面是密码!
10.11.11.104机器上的相关文件为:
-
[root@IDC-D-2626 scripts]# cat rsync.sh
-
#!/bin/bash
-
host=10.11.11.109
-
src=/usr/vhome
-
dst=web104
-
user=webuser
-
rsync -vzrtopg --delete --exclude "tmp" --progress ${src} ${user}@${host}::${dst} --password-file=/etc/web.pass >/home/liuxiaojie/rsync.log 2>&1
-
[root@IDC-D-2626 scripts]# cat /etc/web.pass
-
webuser ##密码
-
然后在设置cron每间隔两个小时执行一次:
0 */2 * * * /bin/bash /usr/local/xncenter/confcenter/scripts/rsync.sh
100机器上的配置和104上的配置雷同:
-
[root@IDC-D2636 scripts]# cat rsync.sh
-
#!/bin/bash
-
host=10.11.11.109
-
src=/usr/vhome
-
dst=web100
-
user=webuser
-
rsync -vzrtopg --delete --exclude "tmp" --progress ${src} ${user}@${host}::${dst} --password-file=/etc/web.pass >/home/liuxiaojie/rsync.log 2>&1
-
[root@IDC-D2636 scripts]# cat /etc/web.pass
-
webuser
如果还有其他的web机器,按照上面的方法配置即可!
配置过程中遇到的问题:
[root@mail liuxiaojie]# cat rsync.log
password file must not be other-accessible ##在rsync.sh执行过程中吃错,日志文件里提示如下:
continuing without password file
@ERROR: auth failed on module mail28
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
解决方法:
[root@mail liuxiaojie]# ls
bak rsync.log software
[root@mail liuxiaojie]# cd /etc/
[root@mail etc]# ll web.pass
-rw-r--r-- 1 root root 8 Sep 13 11:56 web.pass
[root@mail etc]# chmod 600 web.pass
这是客户端/etc/web.pass文件的权限, 服务器同样也要修改该文件的权限!
解决方法:chmod 600 web.pass 即可!
rsync使用过程中遇到问题
1:
rsync要工作,必须两台机器上都要安装,上面的错误出现是因为我有一台上面没有安装rsync
解决方法:yum -y install rsync
2:rsync支持断点续传
默认的情况下,当rsync传输中断后,新的rsync传输将删除所有的未完成的残余文件片段,然后开始新的传输。而使用--partial后,将会进行我们所说的断点续传。
值得注意的是-P这个参数是综合了--partial --progress两个参数,所以rsync的断点续传可以用下面的例子来说明:
# rsync -avzP /tmp/bigfile cnangel@10.1.6.160:/tmp/bigfile
3:还遇到一个--delete参数不生效的情况,开始我使用/home/nfsshare/* 或/home/nfsshare/*.sql.gz都不工作的,换成目录对目录就正常了。
阅读(1023) | 评论(0) | 转发(0) |