简介:rsync是个真正的镜像工具,它能相应地删除本地文件万一服务器上的文件被删除,
这一点比wget好,在镜像目录的同时也能排除某些目录及文件。速度非常快
主页:rsync.samba.org
环境:RedhatLinux6.2,rsync2.4.3(下载[url=http://www.pccode.net].net" class="wordstyle"源码编译最好),
两台linux服务器192.168.11.7(test)(rsyncserver),192.168.11.2(proxy)(rsyncclient)
步骤:
1.下载最新的rsync2.4.3源文件编译,看rsync.samba.org,据我所知,只有2.4.3才支持
镜像时的排除选项--includeand--exclude,编译后得到一个执行文件rsync,仅需这个执行文件即可
2.编辑配置文件/etc/rsyncd.conf如下:
logfile=/var/log/rsyncd.log
pidfile=/var/run/rsyncd.pid
lockfile=/var/run/rsync.lock
[test]
path=/test
comment=testfolder
uid=root
ignoreerrors
readonly=yes
list=no
authusers=sun
secretsfile=/etc/test.scrt
注释:定义了需要被镜像的目录为/test,需要密码连接,文件在/etc/test.scrt,
注意该文件的属性和权限-rw-------1rootroottest.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上设定客户端cronjob.每晚自动作备份或者镜像
021**1-5/root/.test.sh
note:每晚九点周一至周五自动运行/root/.test.sh作备份
#more/root/.test.sh
#!/bin/sh
DATE=`date+%w`
rsync-tvzrp-essh--progress--deletetest@192.168.11.7::test/shopu/test/$DATE--password
-file=/etc/test>/var/log/test/test.$DATE
mail-s"testBackupisdone"myemailaddress</var/log/test/test.$DATE
[root@proxy/root]#more/etc/test
tset
[root@proxy/root]#ls/etc/test-l
-rw-------1rootroot4May1621:40/etc/test
注意:-essh表示用SSH加密连接,需要服务器test支持SSH
5.可用于下列用途:
a.从另一台服务器备份主服务器上的某个整个目录,且可排除某个子目录及文件
b.镜像主WEB服务器的主页目录,适合于像像网站,用--delete可删除服务器上没有的本地文件
是真正的像像,不同于wget,wget仅根据网站的URL链接下载链接指向的每个文件,本地文件并不删除