共计 840 个字符,预计需要花费 3 分钟才能阅读完成。
关于rsync,网上有很多似是而非的教程,其实rsync本身的man文件已经解释的很清楚了,大部分同学看英文比较困难吧,网文都是互相抄来抄去,上来就是配置daemon,有病啊
rsync有两种运行模式
- 直接执行命令,默认是通过ssh 协议传输数据,这就类似scp了,文件传输过程是加密的
- 在本地或者远端配置一个rsync damoon程序,启动了一个tcp端口,数据直接传输
rsync dameon是为了不使用ssh协议来传输数据,并不能实时同步
建议使用直接执行模式,简单可靠,命令如下
rsync -avuzb –exclude ‘.svn’ /data/www/lutaf root@1.1.1.1:/root/soft
-avuzb参数含义如下
- 打包(递归缘文件夹并保留权限和宿主属性)
- 显式
- 只更新模式
- 压缩
- 创建备份(如果发现目标端有同名文件,文件名加一个~)
- –exclude不需要同步的文件,支持正则表达式,可以有多个并列,或者使用–exclude-from=FILE,FILE是一个文本文件,每行一条规则,也支持正则表达式和通配符
重点
- 目标文件夹,最后不能跟/
- 源文件夹最后的/很有讲究,/代表整个文件夹的内容,下面两行是一样的效果,这是关键,要仔细理解rsync -av /src/foo /dest rsync -av /src/foo/ /dest/foo
在实施备份之前,还需要打通本地服务器和备份服务器直接的ssh登陆,很简单,通过ssh-keygen生成一个秘钥对,然后把idrsa.pub的内容添加到目标服务器的authorizedkeys文件中
第二步
把每项需要备份的目录,写到一个shell文件中,然后配置crontab,每隔4小时更新一次,非常完美!!
rsync不能自动运行,必须显式的调用,最简单的方法是配置crontab
linux内核2.6.13之后支持inotify,可以用它和rsync来实现实时同步,对于网站备份来说,我觉得没有什么必要
转自:http://lutaf.com/79.htm
正文完