[人个原创]使用Linux的rsync命令实现: 网站镜像和代码分发及备份

jackxiang 2011-9-6 15:45 | |
启动rsyncd的命令行:




理解:从{ip}这台机器上用root用户连接远程rsync服务器和本机需要同步的目录/usr/local/push_endsvr 同步,
            并作限定速度为3000KB,不需要同步logs目录!

关键参数解释:
rsync --help|grep bwlimit
     --bwlimit=KBPS          limit I/O bandwidth; KBytes per second
     --progress      show progress during transfer
     --include=PATTERN       don't exclude files matching PATTERN
     --port=PORT             specify double-colon alternate port number

实际测试情况如下:

里面是配置了从/root/elink这个目录向:/home/elink这个目录推送,后查看目录/home/elink的层次结构发现如下:

说明/root/elink/jackxiang.txt 中包含目录也给推送到了/home/elink下,形成/home/elink/elink/jackxiang.txt

说下配置:
首先,看下RpM包,你也可以自己安装,
张宴兄弟有两篇文章都是讲这个的:
http://blog.s135.com/post/259/
http://blog.s135.com/post/265/
我是机器本来就有这个RPM,于是,
root@10.6.208.188:~# rpm -ql rsync-2.6.8-36.8


在安装目录中找到rsync.conf:/etc/rsyncd.conf
vi /etc/rsyncd.conf

我是自己一台机器上做的测试,所以把这个自己的机器也给加上即可,才能一台机器上实现rsync同步喔。
否则就是:
warning: Connecting to 10.6.208.188 failed: Connection Refused! 这种情况会出现。
添加这个用户的帐号和组:
这个不明白可以看下这个URL:http://www.jackxiang.com/post/2581/


启动和关闭该服务:
1)启动rsync服务器端
/usr/bin/rsync --daemon
Rsync server会打开一个873 端口,等待客户端去连接。
加入inetd.conf
编辑/etc/services,加入rsync 873/tcp,指定rsync的服务端口是873。
编辑/etc/inetd.conf,加入rsync stream tcp nowait root
启动和判断是否成功,如下:

2)如何关闭服务,停止:

于是:
rsync  -rp --bwlimit=3000 --progress --exclude "logs/" /home/elink/ elink@$10.6.208.188:/home/elink/
如需要加上密码,则为elink用户设置一个密码。

重启动这个rsync的服务,
运行命令时会提示输入密码:
实际测试情况如下:


最后,
实际用时可能还会加入Crontab:
每半个小时同步一下


可能会出现问题:

加新的参数解决问题:以下参考来自,http://www.jackxiang.com/post/3121/

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/4604/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2014-9-30 11:13
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]