本文为大家介绍rsync的配置与升级等相关的内容,有需要的朋友可以参考下。
一、简介
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:
1、可以镜像保存整个目录树和文件系统。
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。
3、无须特殊权限即可安装。
4、优化的流程,文件传输效率高。
5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
6、支持匿名传输。
二、版本选择
目前centos5中自带的rsync版本都是2.6.x的版本,该版本存在的问题主要是性能方面的,比如,同步大量小文件时容易出现内存溢出或同步中断等现象,这主要与其2.6版本采用先列文件列表,再进行同步的处理机制有关,在处理大文件同步时也市场发生同步文件不完整的现象,所以我们在使用rsync之前,应该卸载老版本,安装最新的稳定版本,对各种已知bug修复还是挺有效的,比如3.0以后的版本处理机制上就改成了一边列表的同时进行文件同步,大大改善了性能和降低了出错几率。目前最新的版本是3.0.7。
三、升级步骤:
1。卸载当前rsync的安装包版本:可以直接用rpm -e rsync。
当然,更好的方法是:
a。首先查看rsync命令的所在位置:which rsync 。 witch命令会从$PATH环境变量中,按照先后顺序,找出最先搜索到的rsync命令所在路径,无论你的系统里有多少个rsync命令,这个which的结果才是你在命令行中使用rsync命令式时用到的那个一。例如:/usr/bin/rsync
b。然后查看该命令属于哪个安装包:rpm -qf /usr/bin/rsync 。 例如:rsync-2.6.8-3.1
c。卸载:rpm -e rsync-2.6.8-3.1
2。安装新版本:
a。下载:通常我们都用linuxjishu/14085.html target=_blank class=infotextkey>wget命令,但其实有很多犹豫系统弱密码被攻破导致的攻击都是用这个命令来下载攻击包,所以,最好还是将这个命令移出$PATH所在的路径,放到一个只有你知道的地方,今后可以敲入完整路径使用,也不影响什么的
b。安装:很简单,不需要指定什么参数,默认就可以了
这样就安装好了,默认rsync命令被安装在这里:/usr/local/bin/rsync
3。检查:
#which rsync 。看看是否能找到rsync命令,通常情况下,linux的$PATH变量,会把/usr/local/bin置于/usr/bin之前,所以即使你不卸载旧版本,也会默认的使用新版本了,当然,我还是建议卸载掉旧版本,图个干净,呵呵
#rsync --version 。看看是否是新版本了,如果提示找不到该命令,那是shell缓存的原因,重新登录一遍应该就好了
四、具体配置
一般有两种配置方法,一种是推,一种是拉。通常我们选择前一种,看你的情况了。
推:目的主机配置为rsync服务器,源主机周期性的使用rsync命令把要同步的目录推过去
拉:源主机配置为rsync服务器,目的主机周期性的使用rsync命令把要同步的目录拉过来
1、服务器端配置:
主配置文件,/etc/rsyncd.conf :
密码验证文件,/etc/rsyncd.secrets:
A。前一个为用户名,后一个为密码
B。该文件必须置为600权限
启动服务:
开机自启动:
两种不同的方法,效果一样,第二种会在指定的log和系统messagelog中都留下日志,其实也没什么必要了
A、直接把启动命令添加到/etc/rc.local文件,放在最后一行。
B、加入xinetd,将rsync服务端放入xinetd族中,进行配置和启动控制。
编辑/etc/services,检查rsync的服务端口,默认是TCP和UDP的873
编加/etc/rsync:
C、自己写个service脚本,放到chkconfig中,这样就可以单独控制rsync服务,也可以灵活变动他的启动顺序
rc.local启动顺序是99,也就是说最后一个执行,xinetd族启动顺序是56,所以实际应用是看你的需要,如果需要在应用前启动,那么就要注意这个了
2、客户端(发起同步方)配置:
执行下列命令即可,如果想周期执行,参见crontab
参数简介:
v: --verbose increase verbosity
z: --compress compress file data during the transfer
r: --recursive recurse into directories
t: --times preserve times
o: --owner preserve owner (super-user only)
p: --perms preserve permissions
g: --group preserve group
--progress: show progress during transfer
--delete: delete extraneous files from destination dirs。也就是源端如果删除文件,目的端也删除
注意:
1。看到推的时候,命令中那个星号了吗?服务器端指定存放位置肯定是个目录,本例中,如果不加星号,会在服务器端指定目录中在创建一个software目录,所以加了星号,才是把源主机software目录下的文件进行同步。这个特别注意,要按实际情况操作,其实都有用。
2。一定要注意同步方向,可别把源主机上的文件给删除了,切记!