您好,登錄后才能下訂單哦!
??rsync(remote synchronize)是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件。rsync使用所謂的“rsync算法”來使本地和遠程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當快。
??rsync的基本特點如下:1.可以鏡像保存整個目錄樹和文件系統;2.可以很容易做到保持原來文件的權限、時間、軟硬鏈接等;3.無須特殊權限即可安裝;4.優化的流程,文件傳輸效率高;5.可以使用rsh、ssh等方式來傳輸文件,當然也可以通過直接的socket連接;6.支持匿名傳輸。
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
一般是先裝openssl再裝openssh。通過smit install 安裝 openssl和openssh, 如下,輸入安裝文件的路徑,選擇接受新的許可協議。
裝完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
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
下載安裝包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目錄下,安裝如下:
服務器端為源端(172.27.34.237),源端配置文件主要為rsyncd.conf(主配置文件)、rsyncd.pwd(密碼文件)、rsyncd.motd(rsync服務器信息),在/etc下新建rsync目錄,進入/etc/rsync新建配置文件rsyncd.conf、rsyncd.pwd、rsyncd.motd.
rsyncd.conf內容如下:
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內容如下:
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服務器登錄時,我們所看到的提示信息。在全局定義變量時,并不是必須的。
注意:客戶端密碼文件格式與服務器端不同,密碼文件權限屬性為屬主可讀。
服務器端:
啟動rsync進程
/usr/bin/rsync --daemon --config=/etc/rsync/rsyncd.conf
此服務項不會開機啟動,服務端機器重啟后需啟動該服務
檢查服務是否啟動,查看進程:
ps –ef|grep rsync
檢查端口(rsync默認端口為873,端口監聽證明服務拉起):
netstat –an|grep 873
以上為正常程序正常啟動
客戶端:
rsync -vzrtopg --progress --delete --exclude "diff_bak/" --password-file=/etc/rsync/rsyncd.pwd root@172.27.34.237::rsync /home/rsync
為了保證定時同步,客戶端同步命令可以寫成定時任務形式定時同步。
全局定義
參數 | 說明 |
---|---|
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 | 密碼文件保存路徑 |
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安裝測試
??
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。