2011年3月31日 星期四

Windows系統間的檔案同步軟體使用心得

環境說明:

  1. 實驗室內有幾台學生電腦,C:\WinXP作業系統,有還原卡保護;D:\資料,開放存取。
  2. 教師電腦(\\TEACHER),C:\WinXP作業系統,D:\SyncFolder\存放給發給學生的檔案,透過網路分享為\\TEACHER\SyncFolder。
  3. 希望每一位學生在登入作業系統後,就能自動從老師的電腦D:\SyncFolder\作同步。已存在的檔案不再浪費網路頻寬下載,順便將學生電腦D:\SyncFolder\多餘的檔案清除。
  4. 學生電腦只會透過還原卡將C:\系統複製到其他台電腦。D:\資料不作任何的變更。
測試不成功的軟體:
  1. M$的SyncToy 2.1版,可以做到同步的動作,但是每一台電腦必須手動執行過一次,才能用命列模式啟動同步動作。更糟的是,他會將上一次動作紀錄在一個SyncToy.....的檔案中。即使後來手動刪除了資料夾內的檔案,它也不會自動偵測到。這個問題會導致在第1台學生電腦設好後,將整個系統透過還原卡複製到其他學生電腦後,無法正常地將教師電腦D:\SyncFold\與其他台的學生電腦D:\SyncFolder\做同步。不愧為Sync玩具。所以即使用排定的工作來設定SyncToyCmd的方式來啟動,也是無效的。
測試可以的方案:
  1. 下載使用SyncBack Freeware V3.2.21這個免費的檔案同步軟體,它和Sync玩具相同,有圖形介面可以設定,但是可以設定的參數較詳細。將 \\TEACHER\SyncFolder 設為source,學生電腦的D:\SyncFolder設為destination。在Advance的設定分頁中,選擇自己想要的同步方式。我的情境是:source over
  2. 我將學生電腦中,使用SyncBack設定好SyncFolder的動作,它的執行指令如下:
    "C:\Program Files\2BrightSparks\SyncBack\SyncBack.exe" -m "SyncFolder"
  3. 我將上述這一行指令寫作一個批次檔,再加上檢查學生電腦D:\SyncFolder是否存在並自動新增資料來的動作,將這個批次檔存成sync.bat,放在下列的資料夾中:
    C:\WINDOWS\System32\GroupPolicy\User\Scripts\Logon
    REM =====以下為sync.bat指令內容=====
    IF NOT EXIT "D:\SyncFolder" MD "D:\SyncFolder"
    "C:\Program Files\2BrightSparks\SyncBack\SyncBack.exe" -m "SyncFolder"
    REM ====以上為sync.bat指令內容=====
  4. 開始/執行,輸入"gpedit.msc",開啟群組原則設定。在使用者設定/Windows設定/指令碼/登入,滑鼠右鍵內容,新增/瀏覽/指令碼名稱,選取sync.bat,按確定/確定,關閉內容設定,關閉群組原則設定。
  5. 測試方法,新增一批檔案在教師電腦D:\SyncFolder,另外新增一批不同的檔案。在學生電腦端執行登出,再登入,檢查學生電腦的D:\SyncFolder是否會同步。如果可以,就可以將這一台學生電腦,再透過還原卡複製到其它的學生電腦上。
  6. 這個同步是透過網路傳輸,因此登入後,視檔案大小,會花費數十秒至幾分鐘時間。
  7. 又,在開機時(群組原則中所指的系統啟動時)不能使用這一招是因為這個階段電腦尚無法使用網路芳鄰連線,所以就會失效。

沒有留言: