天天看點

rsync定時加腳本實作本地到阿裡的ftp檔案同步

現在需要實作西安ftp到阿裡伺服器的備份

1.西安為B,阿裡為A

2.阿裡裡面的rsync是已經安裝好的,檢視了是依賴gti安裝的,雖然版本不一樣但是不影響使用

3.在A裡建立rsync配置檔案

4.建連接配接使用的使用者密碼

5.到B端進行手動同步實驗

6.手動沒問題之後進行腳本制作,然後定時運作

接下來開始操作,進入A端伺服器建立rsyncd.conf配置檔案

vim /etc/rsyncd.conf

我這裡已經建好了

UID = #我直接給的root使用者

gie = #我直接給的root組

port= #預設的873接口

address= #預設自己A伺服器的位址

use chroot = 3表示連接配接成功後自動切換目錄

max connections = 3最大連接配接數

pid file = #pid檔案存放的位置

lock file = #鎖檔案存放僞裝

log file = #日志檔案存放位置

downloads  #(子產品名)這裡比較重要,rsync客戶機同步的時候伺服器的目錄直接填子產品名,填目錄會報錯

patch = #伺服器備份檔案的位置

read only =  #是允許别的用戶端向本機的伺服器端上傳

list =  #允許清單

hosts allow = #允許的主機 (可以是IP也可以是IP段,加,号隔開)

hosts deny = #不允許的主機

auth users = # 備份連接配接使用的賬戶

secrets file = # 備份連接配接使用的賬戶密碼(這裡直接建立個檔案即可)如下圖

這裡我們A端伺服器就配置完成了

需要注意的1.是可以把ftp-xa去掉,這樣就都同步到uploads裡面反正我們同步的檔案夾帶各自的名字

                2.允許的主機後面需要添加,要麼就直接改成0.0.0.0/24 ,允許所有主機

                3.使用者名密碼我已經做好,可以不用重新弄了,你B端的本地密碼建好就行(密碼必須跟伺服器賬戶的密碼相同),位置随便,我這裡的位置是伺服器賬戶密碼存放的位置。

接下來到B端西安

先安裝rsync,我直接用的yum安裝的,安裝完成之後測試備份即可如圖

rsync定時加腳本實作本地到阿裡的ftp檔案同步

rsync -aczp(這裡可以看指令介紹,我這裡選擇的a:歸檔模式,c:對檔案進行效驗,z:對備份的檔案傳輸時進行壓縮處理,P:保持檔案權限)

這個-aczp可以根據喜好來更換

這裡手動進行同步,提示輸入密碼說明連接配接正常,輸入密碼之後就會進行傳輸顯示。

為了友善我這裡是這個思路進行的

1.先建個腳本

2.每天定時運作腳本

OK,接下來是腳本的運作和定時同步

直接vim /root/rsync.sh

rsync -avrP --progress --password-file=/usr/rsync.pwd  /root/ftp/* [email protected]::downloads

 #rsync 後面加輸出模式,--progress:顯示傳輸過程 --passwd 後面是儲存密碼的位置,password-file=/usr/rsync.pwd(看圖就明白了)

rsync定時加腳本實作本地到阿裡的ftp檔案同步

因為正常手動同步會提示輸入密碼,這裡直接加--passwd 讓它自動填寫密碼,就可以不用手動輸入密碼了,後面是需要備份的目錄,然後跟着備份到伺服器的使用者名和位址 後面是子產品名,在伺服器的配置裡面子產品名下面是伺服器的檔案配置,這麼運作會自動備份到

rsync定時加腳本實作本地到阿裡的ftp檔案同步

腳本完成了,可以直接運作腳本試試效果,要是沒問題的話我們進行定時運作腳本

直接crontab -e

會進入編輯模式

00 3 * * * /root/rsync.sh

我這裡寫的每天3點鐘運作sh腳本

本文轉自 Bruceweien 51CTO部落格,原文連結:http://blog.51cto.com/bruceweien/1932383