采用rsync实现两台solaris服务之间的文件同步
目的:
通过技术手段,保持服务器
A
中的某些目录能够定期同步到服务器
B
中。
本文针对
Sun Solaris 5.9
版本,其他版本或其他
unix
服务器仅具有参考价值
对于
Windows
服务器之间的文件同步,也可以采用
rsync
,但要使用
cwrsync
工具,请从
internet
上搜索资料。
工具:
rsync
:在
unix
平台下广泛采用的同步软件,免费使用,目前最新版本是
2.6.6
crontab
:
solaris
平台上的定时任务管理器
描述:
rsync
同时安装到
Server A
和
Server B
。
在
Server A
上,
rsync
作为守护进程运行,通过配置,可以使得
Server A
上的某些目录被
rsync
发布。
在
Server B
上,
rsync
作为命令行工具运行,可以从运行
rsync
守护进程的另一台服务器(
Server A
)上将所发布的目录同步到
Server B
。
在
Server B
上配置定时任务,以便在指定的时间运行同步命令。
步骤:
1
、
在
Server A
和
Server B
上安装
rsync
软件:
a)
从
http://www.sunfreeware.com/programlistsparc9.html
上查找
rsync
的最新版本,从
http://ftp.saix.net/pub/solaris-freeware/sparc/5.9/
上下载找到的文件。
目前的最新版本是
2.6.6
,文件在本文所附的目录中可以找到,名称:
rsync-2.6.6-sol9-sparc-local.gz
b)
通过
ftp
命令将文件上传到
Server A
和
Server B
,在个人电脑的
DOS
命令行上执行命令如下:
ft p 10.1.4 .10
#
通过
ftp
连接服务器
10.1.4.10
bin
#
设定传输模式为二进制
put rsync- 2.6.6 -sol9-sparc-local.gz
#
将本地的文件上传到
10.1.4.10
bye
#
退出
ftp
程序
c)
在
Server A
和
Server B
上安装
rsync
,命令非常简单。在个人电脑的
DOS
命令行上执行下面的命令:
telnet 10.1.4 .10
#
连接到
10.1.4.10
的终端界面
gzip -d rsync- 2.6.6 -sol9-sparc-local.gz
#
解压缩
gz
文件
pkgadd -d rsync- 2.6.6 -sol9-sparc-local.gz
#
安装
rsync
,遇到提问,按回车即可
/usr/local/bin/rsync --version
#
验证
rsync
安装是否完成
2
、
在
Server A
上配置
rsync
服务
a)
编辑
rsync
的配置文件,
/etc/rsyncd.conf
,该文件在安装之初是没有的,需要自己建立。命令如下:
vi /etc/rsyncd.conf
#
编辑
/etc/rsyncd.conf
文件
文件内容如下:
uid = root
#
以
root
身份访问文件目录
gid = root
#
以
root
组身份访问文件目录
use chroot = yes
#
可以使用
chroot
max connections = 1
#
最大连接数
syslog facility = local5
pid file = /var/run/rsyncd.pid
hosts allow = 10.1.4 .13
#
只允许
10.1.4.13
访问
[grpdomain1]
#
这是一个发布项,可以发布多个
path=/data/bea/user_projects/grpdomain1
#
发布的路径
read only=yes
#
只读
list = yes
#
允许列文件清单
comment=CenGRP3.0,Sinopec Portal Web Server.
#
描述信息
文件在本文所附的目录中可以找到,名称:
ServerA\rsyncd.conf
[grpdomain1]
将作为其他服务器访问
Server A
的
rsync
发布目录的一个发布名,这样的小节可以根据需要存在多个。
b)
以守护进程方式启动
rsync
服务,命令如下:
/usr/local/bin/rsync --daemon&
c)
配置
rsync
自启动
vi /etc/rc3.d/S99Rsync
#
编辑
/etc/rc3.d/S99Rsync
chmod 700 /etc/rc3.d/S99Rsync
#
设置文件可以被属主(
root
)读写执行
文件内容如下:
/usr/local/bin/ rsync --daemon&
文件在本文所附的目录中可以找到,名称:
ServerA\S99Rsync
d)
验证服务
登陆
Server B
,执行命令:
/usr/local/bin/rsync -ztruvoglp --progress rsync:// 10.1.3 .87
grpdomain1 CenGRP3.0,Sinopec Portal Web Server. #
执行结果
列出了
Server A
上面发布的目录的名称,说明配置成功