Lion Server系列-rsync同步檔案

Lion Server系列-rsync同步檔案

1.rsync設定同步

一台Mac OS X lion負責執行rsync指令,負責將rsync00的資料同步到其他點。

rsync00、rsync01、rsync04是在不同地區分享資料夾(Samba)。

image

 

由於我們以一台Mac OS X作為命令中心,因此以下操作都是在Mac上操作的。

由於不確定個分享點都支援是rsync的設備,因此事先把各分享點資料夾當成是網路磁碟掛進來,是最穩當的方法。

image

 

進入終端機

image

注意為了怕權限問題搞怪,請以root來進行設定及後續排程,但預設Mac OS X 的 root 帳號是不允許的,我們要先啟動它。

進入系統偏好設定

image

 

如果被鎖定,請先解鎖。

image

 

在[登入選項]頁面裡,點選[網路帳號伺服器]的[編輯按鈕]

image

 

有個[打開目錄工具程式]按鈕,注意到沒!

image

跳出目錄工具程式頁面之後,在目錄工具程式的選單[編輯]中,找到[啟用Root使用者]功能執行。

image

 

請為root帳號定義密碼。

image

 

定義完畢,離開即可。之後我們]便可以在終端機指令中,切換root身分,執行各項作業。

回到終端機

輸入指令:su

會要求輸入剛剛定義的密碼,應該沒忘記吧!

image

 

所以掛載的路徑都在根路徑底下的Volumes裡面

image

 

切進去看可以看到我們掛載的rsync00、rsync01、rsync03都在裡面。

image

 

(部分操作指令與Linux或UNIX同,為節省篇幅不仔細詳述)

建立一個批次檔執行

從rsync00同步到rsync01

rsync –av –delete /Volumes/rsync00 /Volumes/rsync01

從rsync00同步到rsync03

rsync –av –delete /Volumes/rsync00 /Volumes/rsync03

--delete 這個參數的意思是指,當來源檔案被刪除時,也同步刪除目的端的檔案。

把批次檔存放到名為[data]的本機硬碟,以後才好編輯。

image

 

與一般Linux編輯器不同,請按下[i]鍵,進入編輯狀態。

image

把指令輸入,然後存檔離開

image

 

務必先把批次檔設定為可執行權限,才可以被執行。

image

 

測試執行

第一次都是完整同步,時間較久,後續就是差異同步快多了,這是常識!

image

不過還沒好,因為通常會讓這個動作排程執行,而非每次手動執行。

這部分要借助Cron。

編輯排程,因為我們是root來設定排程,較不會有權限受阻情況發生。

編輯排程

crontab –e

每隔5分鐘執行一次(這裡純屬測試快點看到結果,實際狀況不建議)

image

 

查詢定義的棑程

image

cron格式有許多參考資料,這裡不詳述。

同步完,會自動建一個與來源分享同名的資料夾,裡面擺的就是從來源過來的檔案。

image

 

2.自動掛載網路硬碟

不過還有個問題要解決,如果每次重開機,都要一個個去掛載網路分享,會有點累。在google搜尋AutomountMaker這套免費軟體,它有點類似Windows的新增網路磁碟的功能,能將掛在所需的URL、帳號資訊儲存起來;然後再將儲存的檔案,指定到帳號的登入項目即可,開機登入帳號之後,就會自動幫你掛載網路硬碟了。

有關Automountmaker的使用方式,網路很多中英文皆有,甚至下載官網及下載包裡就有教學影片了,請自行觀賞。

這裡打算介紹個人偏好方式,就是用AppleScript。一般MIS聽到程式,尤其本來不是Apple的愛好者而言,可能會直接放棄

但下面的幾行程式,非常簡單易懂,比VBScript還容易。

打開[工具程式]裡面的[AppleScript]編寫程式。

image

 

輸入下面幾行

image

 

mount volume “smb://[網域名稱];[連線帳號名稱]:[連線帳號密碼]@位址/分享名稱”

 

若連線帳號不是網域帳號,就免打了。如果該分享是用網域帳號連線的,就要打網域名稱,注意隔開的符號不要打錯了。

檔案存成兩種格式,工序指令跟應用程式,工序指令格式是為了方便我們日後修改更新用的,應用程式格式是為了待會指定給帳號的登入項目用。

image

 

最後再指定給帳號的登入項目就行了。

image