采用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)          从 [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
5、   更多的文件目录的同步之 ServerB 的操作,参见步骤 3
参考资料:
1、   rsync 資料同步 .mht       
2、   Cron 服务配置详解 .mht

转载于:https://blog.51cto.com/dxwang/125515

采用rsync实现两台solaris服务之间的文件同步相关推荐

  1. 两台Linux系统之间传输文件的几种方法

    scp传输 当两台LINUX主机之间要互传文件时可使用SCP命令来实现 scp传输速度较慢,但使用ssh通道保证了传输的安全性 复制文件 将本地文件拷贝到远程 scp 文件名 –用户名@计算机IP或者 ...

  2. 如何在两台远程服务器之间传输文件

    当两台服务器之间需要传输文件时,使用FTP软件(FileZilla)就很难发挥作用了. 使用scp则能解决此问题,一般LInux自带scp scp 命令介绍 scp 本地用户名@IP地址:文件名1 远 ...

  3. linux系统之间无密传输,scp采用无密码在两台linux服务器之间传输数据(示例代码)...

    一.root用户: 1. 在主机A上执行如下命令来生成配对密钥: ssh-keygen -t rsa 按照提示操作,注意,不要输入passphrase.提示信息如下 Generating public ...

  4. 两服务器文件异地同步,两台群晖之间Moments异地同步方法探索

    两台群晖之间Moments异地同步方法探索 2020-07-29 21:12:05 3点赞 6收藏 3评论 手里有一黑一白两台群晖,一直在寻找两台设备之间Moments文件异地同步的方法. 因为群晖里 ...

  5. rsync实现两台服务器上的实时同步

    rsync实现两台服务器上的实时同步--delete 服务端:centos-4 192.168.5.128 客户端:centos-3 192.168.5.132 1.创建{1..10}.txt文件在a ...

  6. 两台群晖服务器如何同步文件,两台群晖之间Moments异地同步方法探索

    两台群晖之间Moments异地同步方法探索 2020-07-29 21:12:05 3点赞 6收藏 3评论 手里有一黑一白两台群晖,一直在寻找两台设备之间Moments文件异地同步的方法. 因为群晖里 ...

  7. 两台 Linux 主机之间配置信任关系(以及如何解除)

      主机之间的 ssh 信任,简单地说,就是主机之间使用 ssh 命令登录主机不需要密码.   一.主机之间配置信任关系   将主机 A (47.100.247.242) 作为信任主机,主机 B(10 ...

  8. 串口通信--两台PC机之间的简单传输

    串口通信–两台PC机之间的简单传输 文章目录 串口通信--两台PC机之间的简单传输 1.实验器材 2.实物连接 3.选择文件发送 4.计算比较 5.总结 1.实验器材 两台 PC 机器 两个 usb ...

  9. d-link路由器虚拟服务器,两台D-Link路由器之间如何桥接上网

    Dlink桥接设置:首先我们来看看无线路由器之间桥接设置的简单步骤:总结起来就是以下几步: ①主路由器设置SSID.固定信道.无线密码 ②副路由器开启桥接,固定信道和主路由器一样 ③副路由器桥接设置填 ...

最新文章

  1. 检测到目标URL存在http host头攻击漏洞
  2. Slide:配置Oracle 10g双向流复制
  3. poj 2528 Mayor's posters(线段树+离散化)
  4. 虽然自己不是唱歌的材料
  5. Java设计模式透析之 —— 单例(Singleton)
  6. 16. Magento模板及布局文件中引用Static Block的方法
  7. Spring Boot @PropertySource 加载配置文件、@ImportResource 导入Spring 配置文件
  8. 计算机画图照片大小,如何压缩图片大小,用电脑系统自带画图工具即可
  9. 回归远程 - 云原生IDE是IaC从表象触达本质的必然选择 | SmartIDE
  10. springcloud alibaba 整合 seata 完整 安装和配置
  11. 哈佛幸福课个人使用精华
  12. python风变编程是骗局吗-如何看待风变编程的 Python 网课?
  13. 计算机网络的定义和分类
  14. Contextual Diversity for Active Learning阅读笔记
  15. 详解Linux帮助命令——help、--help、man、info
  16. 产品手记专注0基础转行产品经理平台
  17. 典型相关分析、对应分析
  18. cheat engin修改植物大战僵尸游戏
  19. 发现一个优秀的Java版国人仿曹操传游戏
  20. 百度网盘无法下载怎么办?

热门文章

  1. WordPress简洁博客主题:Sweet主题
  2. c#中的socket(tcp)
  3. 想说爱你不容易,浏览器缓存浅谈
  4. 常用浏览器修改User-Agent的方法
  5. iphone简单实例 (字体,弹出窗口) (实例)
  6. Objective-C 2.0 with Cocoa Foundation --- 3,类的声明和定义
  7. CodeIgniter 的数据安全过滤全解析
  8. 136.只出现一次的数字
  9. 斗地主AI算法——第二章の数据结构
  10. 打包(归档)和压缩(包含两者的区别)