AIX環境下文件遠程傳輸複製工具--rsync安裝測試

一、RSYNC簡介

  rsync(remote synchronize)是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件。rsync使用所謂的“rsync算法”來使本地和遠程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當快。
  rsync的基本特點如下:1.可以鏡像保存整個目錄樹和文件系統;2.可以很容易做到保持原來文件的權限、時間、軟硬鏈接等;3.無須特殊權限即可安裝;4.優化的流程,文件傳輸效率高;5.可以使用rsh、ssh等方式來傳輸文件,當然也可以通過直接的socket連接;6.支持匿名傳輸。

二、Openssh安裝

1.下載軟件

Openssl下載:https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=aixbp&S_PKG=openssl&lang=en_US
Openssh下載:http://sourceforge.net/projects/openssh-aix
下載得到軟件爲: openssl-0.9.8.1302.tar.Z 和openssh_5.4p1.tar.z

2.安裝openssh

一般是先裝openssl再裝openssh。通過smit install 安裝 openssl和openssh, 如下,輸入安裝文件的路徑,選擇接受新的許可協議。

圖片.png

3.檢查安裝包

裝完ssl和ssh後安裝包如下:
ssh: openssh.base.client、openssh.base.server、openssh.license、openssh.man.en_US、openssh.msg.en_US;
ssl: openssl.license、openssl.man.en_US、openssl.base

4.重啓服務

tppc01:/ #stopsrc -s sshd
0513-044 The sshd Subsystem was requested to stop.
tppc01:/ #startsrc -s sshd
0513-059 The sshd Subsystem has been started. Subsystem PID is 1581116.
tppc01:/ #ssh –V
OpenSSH_5.4p1, OpenSSL 0.9.8m 25 Feb 2010

圖片.png

三、RSYNC安裝

1.安裝rsync包

下載安裝包port和rsync:
popt-1.7-2.aix5.1.ppc.rpm
rsync-2.6.2-1.aix5.1.ppc.rpm
鏈接爲:

ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/rsync/rsync-2.6.2-1.aix5.1.ppc.rpm ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/rpm/popt-1.7-2.aix5.1.ppc.rpm

用smitty進行安裝,將軟件包放置於/tmp/rsync目錄下,安裝如下:

圖片.png

2.服務器端配置

服務器端爲源端(172.27.34.237),源端配置文件主要爲rsyncd.conf(主配置文件)、rsyncd.pwd(密碼文件)、rsyncd.motd(rsync服務器信息),在/etc下新建rsync目錄,進入/etc/rsync新建配置文件rsyncd.conf、rsyncd.pwd、rsyncd.motd.

rsyncd.conf內容如下:

圖片.png

rsyncd.conf 是rsync服務器主要配置文件,該文件默認不存在需手動創建。

uid=root
gid=system
#max connections=4
use chroot=true
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
motd file = /etc/rsync/rsyncd.motd
#lock file=/var/run/rsyncd.lock
#auth users=root
secrets file=/etc/rsync/rsyncd.pwd
transfer logging = true
#port = 873
#limit access to private LANs
hosts allow=172.27.34.238
#hosts deny=*
[rsync]
path=/home/rsync
comment = home rsync 
#ignore errors
read only = yes
list = yes 
auth users = root 
secrets file=/etc/rsync/rsyncd.pwd

rsyncd.pwd內容如下:

圖片.png

rsyncd.pwd爲密碼文件,格式爲:user:password;此用戶必須系統中存在,密碼爲rsync同步密碼,可以與系統密碼不同,服務器端與客戶端保持一致即可;爲保證密碼的安全性,密碼文件權限應設置爲600,屬主爲root

rsyncd.motd內容爲:

++++++++++++++++++++++++++++++++++++++++++++++

  Welcome to use the Location A To Location B rsync services!

                  2018------2019

++++++++++++++++++++++++++++++++++++++++++++++

rsyncd.motd是定義rysnc 服務器信息的,也就是用戶登錄信息。比如讓用戶知道這個服務器是誰提供的等;類似ftp服務器登錄時,我們所看到的提示信息。在全局定義變量時,並不是必須的。

圖片.png

3.客戶端配置

圖片.png

注意:客戶端密碼文件格式與服務器端不同,密碼文件權限屬性爲屬主可讀。

4.啓動rsync服務

服務器端:
啓動rsync進程

/usr/bin/rsync --daemon --config=/etc/rsync/rsyncd.conf

此服務項不會開機啓動,服務端機器重啓後需啓動該服務
檢查服務是否啓動,查看進程:

ps –ef|grep rsync

檢查端口(rsync默認端口爲873,端口監聽證明服務拉起):

netstat –an|grep 873

圖片.png

以上爲正常程序正常啓動

客戶端:

rsync -vzrtopg --progress --delete --exclude "diff_bak/" --password-file=/etc/rsync/rsyncd.pwd [email protected]::rsync  /home/rsync

圖片.png

爲了保證定時同步,客戶端同步命令可以寫成定時任務形式定時同步。

四、配置信息詳解

1.服務器端定義

全局定義

參數 說明
uid=root 服務器端傳輸文件時,要發哪個用戶和用戶組來執行,默認是nobody
gid=system 服務器端傳輸文件時,要發哪個用戶和用戶組來執行,默認是nobody
max connections=4 客戶端最多連接數
use chroot=true 在傳輸文件之前,服務器守護程序在將chroot 到文件系統中的目錄中,這樣做的好處是可能保護系統被安裝漏洞侵襲的可能。缺點是需要超級用戶權限。另外對符號鏈接文件,將會排除在外。也就是說,你在rsync服務器上,如果有符號鏈接,你在備份服務器上運行客戶端的同步數據時,只會把符號鏈接名同步下來,並不會同步符號鏈接的內容
log file=/var/log/rsyncd.log rsync服務器的日誌
pid file=/var/run/rsyncd.pid 告訴進程寫到/var/run/rsyncd.pid文件中
motd file=/etc/rsync/rsyncd.motd 定義motd file路徑,rsyncd.motd內容是定義服務器信息的,用戶登錄時會看到這個信息
transfer logging = true 傳輸文件日誌
port = 873 指定運行端口,默認是873,可以自己指定
hosts allow=172.27.34.238 可以指定單個IP,也可以指定整個網段,能提高安全性。格式是ip 與ip 之間、ip和網段之間、網段和網段之間要用空格隔開
read only = yes 只讀選擇,不讓客戶端上傳文件到服務器上

模塊定義

參數 說明
[rsync] 模塊名。主要是定義服務器哪個目錄要被同步。每個模塊都要以[name]形式。這個名字就是在rsync 客戶端看到的名字。服務器真正同步的數據是通過 path 來指定的。我們可以根據自己的需要,來指定多個模塊。每個模塊要指定認證用戶,密碼文件、但排除並不是必須的
path=/home/rsync 指定文件目錄所在路徑
comment = home rsync 註釋。註釋內容可自己定義,起提示作用
ignore errors 忽略IO錯誤
exclude = beinan/ samba/ 把/home目錄下的beinan和samba 排除在外,beinan/和samba/目錄之間有空格分開
list = yes list 意思是把rsync 服務器上提供同步數據的目錄在服務器上模塊是否 顯示列出來。默認是yes 。如果你不想列出來,就no ;如果是no是比較安全的,至少別人不知道你的服務器上提供了哪些目錄。你自己知道就行了
auth users = root 認證用戶是root,用戶必須在服務器上存在,如果想用多個用戶,需以,隔開,如auth users = root,user1
secrets file=/etc/rsync/rsyncd.pwd 密碼文件保存路徑

2.客戶端定義

rsync命令格式:

  • 1.rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
  • 2.rsync [OPTION]... [USER@]HOST:SRC DEST
  • 3.rsync [OPTION]... SRC [SRC]... DEST
  • 4.rsync [OPTION]... [USER@]HOST::SRC [DEST]
  • 5.rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
  • 6.rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

rsync有六種不同的工作模式:

  • 1.拷貝本地文件;當SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啓動這種工作模式。
  • 2.使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST路徑地址包含單個冒號":"分隔符時啓動該模式。
  • 3.使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器。當SRC地址路徑包含單個冒號":"分隔符時啓動該模式。
  • 4.從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啓動該模式。
  • 5.從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含"::"分隔符時啓動該模式。
  • 6.列遠程機的文件列表。這類似於rsync傳輸,不過只要在命令中省略掉本地機信息即可。

rsync中的參數:

參數 說明
-a 以archive模式操作、複製目錄、符號連接 相當於-rlptgoD
-r 遞歸
-l 是鏈接文件,意思是拷貝鏈接文件
-p 表示保持文件原有權限
-t 保持文件原有時間
-g 保持文件原有用戶組
-o 保持文件原有屬主
-D 相當於塊設備文件
-P 傳輸進度
-v 傳輸時的進度等信息
-e ssh的參數建立起加密的連接
-u 只進行更新,防止本地新文件被重寫,注意兩者機器的時鐘的同步
--progress 指顯示出詳細的進度情況
--delete 指如果服務器端刪除了這一文件,那麼客戶端也相應把文件刪除,保持真正的一致
--password-file=/password/path/file 指定密碼文件,這樣就可以在腳本中使用而無需交互式地輸入驗證密碼了,這裏需要注意的是這份密碼文件權限屬性要設得只有屬主可讀

 
 

本文所有腳本和配置文件已上傳:AIX環境下文件遠程傳輸複製工具--rsync安裝測試

  

 

圖片.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章