首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 项目交易 | 网友作品 | 读书 | ACM题库 | 源码
亲,您未登录哦! 登录 | 注册

Linux系统下如何使用rsync进行数据同步

(加入日期: 2008-02-13 )

打印文章】【字体:

分享到:
首先安装Rsync,比如在Redhat Fedora Linux上或者RHEL AS3上: 


rpm -ivh rsync-2.5.7-5.3E.i386.rpm 


安装完成。 


rsync客户端和服务器端都是同一个执行文件,只不过加的参数不一样。 


例如,服务器A是192.168.0.100,服务器B是192.168.0.101,例如将101上的/www/downloads/new目录下的文件同步到192.168.0.100的/www/download目录下,则100上运行rsync作为服务器端,101做为客户端。 


首先把192.168.0.100服务器端的配置文件建立起来。 


vi /etc/rsyncd.conf 


内容如下: 


uid = nobody 

gid = nobody 

use chroot = yes 

max connections = 4 

pid file = /var/run/rsyncd.pid 

lock file = /var/run/rsync.lock 

log file = /var/log/rsyncd.log 


[downloads] 

path = /www/downloads/ 

ignore errors 

read only = false 

list = false 

hosts allow = 192.168.0.101/24 

hosts deny = 0.0.0.0/32 

auth users = backup 

secrets file = /etc/rsyncd.pwd 


找个配置文件中,uid和gid指明了运行身份,chroot表示连接后自动切换目录,read only=false是允许别的客户端向本机的服务器端上传。host allow和deny是限制连接地址。auth user是认证用户名,secrets file = /etc/rsyncd.pwd是表示认证用户名的时候到这里读取密码。 


接下来编辑密码文件: 


vi /etc/rsyncd.pwd 


backup:123456 


设置密码文件权限700:(权限不对会登陆不上) 


chmod 700 /etc/rsyncd.pwd 


然后启动rsync服务: 


/usr/bin/rsync --daemon 


把rsync加入自动启动脚本,开机后自动启动: 


echo "/usr/bin/rsync --daemon" >> /etc/rc.d/rc.local 


注意一下iptables必须允许rsync的873端口被连接。 


现在到192.168.0.101的客户端上,命令格式如下: 


rsync [-参数] 源地址路径 目标地址路径 


例如将101上的/www/downloads/new目录下的文件同步到192.168.0.100的/www/downloads目录中。 


则创建执行脚本: 


vi /root/rsync.sh 


rsync -vrtL --progress \ 

/www/downloads/new/* \ 

backup@192.168.0.100::downloads \ 

--password-file=/root/rsync.pwd 


-v参数表示显示输出结果,r表示保持属性,t表示保持时间,L表示软link视作普通文件。 


创建客户端的密码文件: 


vi /root/rsync.pwd 


123456 


注意:客户端的密码脚本不带用户名。 


设置密码文件权限700:(权限不对会登陆不上) 


chmod /root/rsync.pwd 


将客户端脚本加入定期任务: 


echo "00 3 * * * root /usr/prima/etc/rsync.sh" >> /etc/crontab 


则每天凌晨3点运行同步。 


现在可以直接运行 /root/rsync.sh 观看效果。 


简单的rsync配置完成。 

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章