千家信息网

如何实现solaris服务之间的rsync同步

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍了如何实现solaris服务之间的rsync同步,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。目的:通过技术手段,保持
千家信息网最后更新 2026年10月31日如何实现solaris服务之间的rsync同步

这篇文章主要介绍了如何实现solaris服务之间的rsync同步,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

目的:

通过技术手段,保持服务器 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) 从 [url]http://www.sunfreeware.com/programlistsparc9.html[/url] 上查找 rsync 的最新版本,从 [url]http://ftp.saix.net/pub/solaris-freeware/sparc/5.9/[/url] 上下载找到的文件。 目前的最新版本是 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 上面发布的目录的名称,说明配置成功

3、 在 Server B 上面设置自动获取 Server A 上的文件

a) 为了方便管理,把脚本文件放置在 Server B 上的特定目录下,下面的命令建立目录 /data/rsync :

mkdir /data/rsync

b) 建立不同步文件的列表清单,清单文件名自己定义,该文件可选,如果不建立该文件,可以直接在后面步骤 C) 的脚本命令中使用参 --exclude 来直接指明。

vi /data/rsync/grpdomain1_exclude_file.list

文件每行表示一条,支持通配符,以发布项作为当前目录,文件内容如下:

grpdomain1.log* # 表示 /data/bea/user_projects/grpdomain1/grpdomain1.log* 不同步

newgrplog # 表示 /data/bea/user_projects/grpdomain1/newgrp 目录及子目录

home/logs

applications/cenep/WEB-INF/log

文件在本文所附的目录中可以找到,名称: ServerB\grpdomain1_exclude_file.list

c) 建立同步脚本,可以根据需要建立多个脚本,每个脚本定义自己的调度计划(见后)

vi /data/rsync/rsync-grpdomain1.sh # 编辑文件

chmod 700 /data/rsync/rsync-grpdomain1.sh # 设置文件为仅属主可读些执行

文件内容如下,注意不要换行:

/usr/local/bin/rsync -ztruvoglp --exclude-from=/data/rsync/grpdomain1_exclude_file.list --delete --progress rsync://10.1.4.10/grpdomain1 /data/bea/user_projects/grpdomain1

参数说明:

l --ztruvoglp ,表示的是压缩传输、包含子目录、保持相同的权限等,可不理会。

l --exclude-from ,指明从那个文件读取除外文件清单

l --delete ,指明当文件被从 Server A 上删除后,也在 Server B 上删除

l --progress ,是否在控制台上显示明细,如果在定时任务中运行,最好不增加该参数。

l --exclude ,在命令行上直接指明那些文件不同步,格式 --exclude="hgFF"

l rsync://10.1.4.10:873/grpdomain1 , 同布的源, 873 是缺省端口,可忽略

l /data/bea/user_projects/grpdomain1 同步目的地

d) 文件在本文所附的目录中可以找到,名称: ServerB\rsync-grpdomain1.sh

e) 检测脚本是否正确,直接执行命令: /data/rsync/rsync-grpdomain1.sh

f) 设定每天 0 点执行同步命令,执行下面的命令

crontab -e # 编辑当前用户的调度表

显示的是一个 vi 界面,文件的内容可能如下,其中黑体部分是我们添加的:

#ident "@(#)root 1.20 01/11/06 SMI"

#

# The root crontab should be used to perform accounting data collection.

#

# The rtc command is run to adjust the real time clock if and when

# daylight savings time changes.

#

10 3 * * * /usr/sbin/logadm

15 3 * * 0 /usr/lib/fs/nfs/nfsfind

1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1

30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean

# 每天的晚上 24 点运行同步脚本 , 将 10 上的 grpdomain1 文件拷贝到本机

0 0 * * * /data/rsync/rsync-grpdomain1.sh

#10 3 * * * /usr/lib/krb5/kprop_script ___slave_kdcs___

起作用的是 0 0 * * * /data/rsync/rsync-grpdomain1.sh , 其中前面由空格间隔开的五项分别代表分钟 小时 日 月 星期

g) 定时服务的启动和停止:

/etc/init.d/cron stop # 停止定时服务

/etc/init.d/cron start # 启动定时服务

4、 更多的文件目录的同步之 ServerA 的操作

a) 修改 ServerA 的 /etc/rsyncd.conf ,增加新的描述,参见 [grpdomain1] 的描述

b) 停止 Server A 上的 rsync 守候进程,命令:

ps -ef|grep rsync # 显示 rsync 进程

kill 888 #888 要根据实际的进程号替换

c) 重新启动守候进程,执行:
/usr/local/bin/rsync -daemon

感谢你能够认真阅读完这篇文章,希望小编分享的"如何实现solaris服务之间的rsync同步"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

文件 命令 目录 同步 服务 服务器 脚本 进程 名称 运行 配置 内容 版本 清单 篇文章 之间 任务 多个 工具 面的 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 哈尔滨大商圈互联网科技有限公司 中国互联网科技工作委员会毛军 互联网电商科技 深圳互联网络科技有限公司 互联网科技热点资讯 顶级互联网科技成果有哪些 互联网科技与管理 苏州铭阳互联网科技有限公司 电子科技大学互联网创业大赛 河南住房之家互联网科技 互联网科技公司营业执照怎么办理 江苏苏星互联网科技有限公司 互联网科技新闻 艺电能源互联网科技有限公司招聘 银川新华互联网科技学校原画 互联网的科技体现在哪里 杭州融税互联网科技有限公司 互联网金融金融科技 互联网科技大佬云集 河南云网互联网络科技有限公司 山东特亿宝互联网科技有限公司 互联网科技会 疫情对互联网科技公司影响 智能科技公司是互联网公司吗 互联网 科技 互联网与未来科技 成都仁贤领冠互联网科技有限公司 温州喔噻互联网科技有限公司 宇信科技在杭州互联网排第几
0