溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)solaris服務(wù)之間的rsync同步

發(fā)布時間:2021-12-27 14:07:27 來源:億速云 閱讀:141 作者:小新 欄目:云計算

這篇文章主要介紹了如何實(shí)現(xiàn)solaris服務(wù)之間的rsync同步,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

目的:

通過技術(shù)手段,保持服務(wù)器 A 中的某些目錄能夠定期同步到服務(wù)器 B 中。

本文針對 Sun Solaris 5.9 版本,其他版本或其他 unix 服務(wù)器僅具有參考價值

對于 Windows 服務(wù)器之間的文件同步,也可以采用 rsync ,但要使用 cwrsync 工具,請從 internet 上搜索資料。

工具:

rsync :在 unix 平臺下廣泛采用的同步軟件,免費(fèi)使用,目前最新版本是 2.6.6

crontab : solaris 平臺上的定時任務(wù)管理器

描述:

rsync 同時安裝到 Server A 和 Server B 。

在 Server A 上, rsync 作為守護(hù)進(jìn)程運(yùn)行,通過配置,可以使得 Server A 上的某些目錄被 rsync 發(fā)布。

在 Server B 上, rsync 作為命令行工具運(yùn)行,可以從運(yùn)行 rsync 守護(hù)進(jìn)程的另一臺服務(wù)器( Server A )上將所發(fā)布的目錄同步到 Server B 。

在 Server B 上配置定時任務(wù),以便在指定的時間運(yùn)行同步命令。

步驟:

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 命令行上執(zhí)行命令如下:

ftp 10.1.4.10                                                    # 通過 ftp 連接服務(wù)器 10.1.4.10

bin                                                                  # 設(shè)定傳輸模式為二進(jìn)制

put rsync-2.6.6-sol9-sparc-local.gz                           # 將本地的文件上傳到 10.1.4.10

bye                                                                 # 退出 ftp 程序

c)          在 Server A 和 Server B 上安裝 rsync ,命令非常簡單。在個人電腦的 DOS 命令行上執(zhí)行下面的命令:

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 服務(wù)

a)           編輯 rsync 的配置文件, /etc/rsyncd.conf ,該文件在安裝之初是沒有的,需要自己建立。命令如下:

vi /etc/rsyncd.conf                                            # 編輯 /etc/rsyncd.conf 文件

文件內(nèi)容如下:

uid = root                                              #  以 root 身份訪問文件目錄

gid = root                                              #  以 root 組身份訪問文件目錄

use chroot = yes                                        #  可以使用 chroot

max connections = 1                                  # 最大連接數(shù)

syslog facility = local5                              

pid file = /var/run/rsyncd.pid                     

hosts allow = 10.1.4.13                              #  只允許 10.1.4.13 訪問

[grpdomain1]                                           # 這是一個發(fā)布項,可以發(fā)布多個

        path=/data/bea/user_projects/grpdomain1                  # 發(fā)布的路徑

        read only=yes                                                          # 只讀

        list = yes                                                                # 允許列文件清單

        comment=CenGRP3.0,Sinopec Portal Web Server.      # 描述信息

文件在本文所附的目錄中可以找到,名稱: ServerA\rsyncd.conf

[grpdomain1] 將作為其他服務(wù)器訪問 Server A 的 rsync 發(fā)布目錄的一個發(fā)布名,這樣的小節(jié)可以根據(jù)需要存在多個。

b)          以守護(hù)進(jìn)程方式啟動 rsync 服務(wù),命令如下:

/usr/local/bin/rsync --daemon&

c)          配置 rsync 自啟動

vi /etc/rc3.d/S99Rsync                             # 編輯 /etc/rc3.d/S99Rsync

chmod 700 /etc/rc3.d/S99Rsync                  # 設(shè)置文件可以被屬主( root )讀寫執(zhí)行

文件內(nèi)容如下:

/usr/local/bin/ rsync --daemon&

文件在本文所附的目錄中可以找到,名稱: ServerA\S99Rsync

d)          驗證服務(wù)

登陸 Server B ,執(zhí)行命令:

/usr/local/bin/rsync -ztruvoglp --progress rsync://10.1.3.87

grpdomain1      CenGRP3.0,Sinopec Portal Web Server.              # 執(zhí)行結(jié)果

列出了 Server A 上面發(fā)布的目錄的名稱,說明配置成功

3、    在 Server B 上面設(shè)置自動獲取 Server A 上的文件

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

mkdir /data/rsync

b)          建立不同步文件的列表清單,清單文件名自己定義,該文件可選,如果不建立該文件,可以直接在后面步驟 C) 的腳本命令中使用參 --exclude 來直接指明。

vi /data/rsync/grpdomain1_exclude_file.list

文件每行表示一條,支持通配符,以發(fā)布項作為當(dāng)前目錄,文件內(nèi)容如下:

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)          建立同步腳本,可以根據(jù)需要建立多個腳本,每個腳本定義自己的調(diào)度計劃(見后)

vi /data/rsync/rsync-grpdomain1.sh                    # 編輯文件

chmod 700 /data/rsync/rsync-grpdomain1.sh             # 設(shè)置文件為僅屬主可讀些執(zhí)行

文件內(nèi)容如下,注意不要換行:

/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

參數(shù)說明:

l             --ztruvoglp ,表示的是壓縮傳輸、包含子目錄、保持相同的權(quán)限等,可不理會。

l             --exclude-from ,指明從那個文件讀取除外文件清單

l             --delete ,指明當(dāng)文件被從 Server A 上刪除后,也在 Server B 上刪除

l             --progress ,是否在控制臺上顯示明細(xì),如果在定時任務(wù)中運(yùn)行,最好不增加該參數(shù)。

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)           檢測腳本是否正確,直接執(zhí)行命令: /data/rsync/rsync-grpdomain1.sh

f)           設(shè)定每天 0 點(diǎn)執(zhí)行同步命令,執(zhí)行下面的命令

crontab -e                             # 編輯當(dāng)前用戶的調(diào)度表

顯示的是一個 vi 界面,文件的內(nèi)容可能如下,其中黑體部分是我們添加的:

#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 點(diǎn)運(yùn)行同步腳本 , 將 10 上的 grpdomain1 文件拷貝到本機(jī)

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

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

起作用的是 0 0 * * * /data/rsync/rsync-grpdomain1.sh , 其中前面由空格間隔開的五項分別代表分鐘 小時 日 月  星期
 

g)         定時服務(wù)的啟動和停止:  

/etc/init.d/cron stop                            # 停止定時服務(wù)  

/etc/init.d/cron start                            # 啟動定時服務(wù)  

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

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

b)          停止 Server A 上的 rsync 守候進(jìn)程,命令:

ps –ef|grep rsync                 # 顯示 rsync 進(jìn)程

kill 888                                #888 要根據(jù)實(shí)際的進(jìn)程號替換

c)          重新啟動守候進(jìn)程,執(zhí)行:
 /usr/local/bin/rsync –daemon

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何實(shí)現(xiàn)solaris服務(wù)之間的rsync同步”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI