Rsync在服务器间镜像或者备份目录

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

简介:rsync是个真正的镜像工具,它能相应地删除本地文件万一服务器上的文件被删除, 这一点比wget好,在镜像目录的同时也能排除某些目录及文件。速度非常快

主页:rsync.samba.org

环境: Redhat Linux 6.2 , rsync 2.4.3(下载源码编译最好), 两台linux服务器192.168.11.7(test)(rsync server) , 192.168.11.2(proxy)(rsync client)

步骤:

1. 下载最新的rsync 2.4.3源文件编译,看rsync.samba.org ,据我所知, 只有2.4.3才支持镜像时的排除选项 --include and --exclude, 编译后得到一个执行文件rsync,仅需这个执行文件即可

2. 编辑配置文件/etc/rsyncd.conf 如下:

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

[test]

path = /test

comment = test folder

uid = root

ignore errors

read only = yes

list = no

auth users = sun

secrets file = /etc/test.scrt

注释: 定义了需要被镜像的目录为/test,需要密码连接,文件在/etc/test.scrt, 注意该文件的属性和权限 -rw------- 1 root root test.scrt

[root@test /etc]# more /etc/test.scrt

test:tset

3.启动服务器后台 rsync

# rsync --daemon

且加这一行到/etc/rc.d/rc.local

# echo "rsync --daemon" /etc/rc.d/rc.local

4. 在服务器192.168.11.2上设定客户端cron job. 每晚自动作备份或者镜像0 21 * * 1-5 /root/.test.sh

note:每晚九点周一至周五自动运行/root/.test.sh作备份

#more /root/.test.sh

#!/bin/sh

DATE=`date +%w`

rsync -tvzrp -e ssh --progress --delete test@192.168.11.7::test /shopu/test/$DATE --password -file=/etc/test /var/log/test/test.$DATE mail -s "test Backup is done" myemailaddress < /var/log/test/test.$DATE

[root@proxy /root]# more /etc/test

tset

[root@proxy /root]# ls /etc/test -l

-rw------- 1 root root 4 May 16 21:40 /etc/test

注意: -e ssh表示用SSH加密连接,需要服务器test支持SSH

5.可用于下列用途:

a. 从另一台服务器备份主服务器上的某个整个目录,且可排除某个子目录及文件

b. 镜像主WEB服务器的主页目录,适合于像像网站,用--delete可删除服务器上没有的本地文件是真正的像像,不同于wget,wget仅根据网站的URL链接下载链接指向的每个文件,本地文件并不删除.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航