Lion Server系列-rsync同步檔案
1.rsync設定同步
一台Mac OS X lion負責執行rsync指令,負責將rsync00的資料同步到其他點。
rsync00、rsync01、rsync04是在不同地區分享資料夾(Samba)。
由於我們以一台Mac OS X作為命令中心,因此以下操作都是在Mac上操作的。
由於不確定個分享點都支援是rsync的設備,因此事先把各分享點資料夾當成是網路磁碟掛進來,是最穩當的方法。
進入終端機
注意為了怕權限問題搞怪,請以root來進行設定及後續排程,但預設Mac OS X 的 root 帳號是不允許的,我們要先啟動它。
進入系統偏好設定
如果被鎖定,請先解鎖。
在[登入選項]頁面裡,點選[網路帳號伺服器]的[編輯按鈕]
有個[打開目錄工具程式]按鈕,注意到沒!
跳出目錄工具程式頁面之後,在目錄工具程式的選單[編輯]中,找到[啟用Root使用者]功能執行。
請為root帳號定義密碼。
定義完畢,離開即可。之後我們]便可以在終端機指令中,切換root身分,執行各項作業。
回到終端機
輸入指令:su
會要求輸入剛剛定義的密碼,應該沒忘記吧!
所以掛載的路徑都在根路徑底下的Volumes裡面
切進去看可以看到我們掛載的rsync00、rsync01、rsync03都在裡面。
(部分操作指令與Linux或UNIX同,為節省篇幅不仔細詳述)
建立一個批次檔執行
從rsync00同步到rsync01
rsync –av –delete /Volumes/rsync00 /Volumes/rsync01
從rsync00同步到rsync03
rsync –av –delete /Volumes/rsync00 /Volumes/rsync03
--delete 這個參數的意思是指,當來源檔案被刪除時,也同步刪除目的端的檔案。
把批次檔存放到名為[data]的本機硬碟,以後才好編輯。
與一般Linux編輯器不同,請按下[i]鍵,進入編輯狀態。
把指令輸入,然後存檔離開
務必先把批次檔設定為可執行權限,才可以被執行。
測試執行
第一次都是完整同步,時間較久,後續就是差異同步快多了,這是常識!
不過還沒好,因為通常會讓這個動作排程執行,而非每次手動執行。
這部分要借助Cron。
編輯排程,因為我們是root來設定排程,較不會有權限受阻情況發生。
編輯排程
crontab –e
每隔5分鐘執行一次(這裡純屬測試快點看到結果,實際狀況不建議)
查詢定義的棑程
cron格式有許多參考資料,這裡不詳述。
同步完,會自動建一個與來源分享同名的資料夾,裡面擺的就是從來源過來的檔案。
2.自動掛載網路硬碟
不過還有個問題要解決,如果每次重開機,都要一個個去掛載網路分享,會有點累。在google搜尋AutomountMaker這套免費軟體,它有點類似Windows的新增網路磁碟的功能,能將掛在所需的URL、帳號資訊儲存起來;然後再將儲存的檔案,指定到帳號的登入項目即可,開機登入帳號之後,就會自動幫你掛載網路硬碟了。
有關Automountmaker的使用方式,網路很多中英文皆有,甚至下載官網及下載包裡就有教學影片了,請自行觀賞。
這裡打算介紹個人偏好方式,就是用AppleScript。一般MIS聽到程式,尤其本來不是Apple的愛好者而言,可能會直接放棄
但下面的幾行程式,非常簡單易懂,比VBScript還容易。
打開[工具程式]裡面的[AppleScript]編寫程式。
輸入下面幾行
mount volume “smb://[網域名稱];[連線帳號名稱]:[連線帳號密碼]@位址/分享名稱”
若連線帳號不是網域帳號,就免打了。如果該分享是用網域帳號連線的,就要打網域名稱,注意隔開的符號不要打錯了。
檔案存成兩種格式,工序指令跟應用程式,工序指令格式是為了方便我們日後修改更新用的,應用程式格式是為了待會指定給帳號的登入項目用。
最後再指定給帳號的登入項目就行了。