目的:

通过技术手段,保持服务器 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 命令行上执行命令如下:

ftp 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 上面发布的目录的名称,说明配置成功