TEST

2005年8月25日 星期四

利用samba定時備份windows

windows沒有定時在備份,總是令人提心吊膽的,又不能天天都燒成光碟吧,一個月燒一次已經很勤勞了吧,可是還是怕怕的…就想辦法搞了這些。

1.開機自動mount windows網芳分享出來的資料夾、FAT32格式的備份用硬碟

  • vi /etc/rc.d/rc.local
    加入
    smbmount '\\gmvr-jay\F' /home/win/ -o username='kekeo',password='*',codepage='cp950′
    (不要使用選項codepage='cp950′,否則等下同步備份的檔案會被轉成utf8) 註一
    mount -t vfat -o shortname=mixed,iocharset=utf8,codepage=950 /dev/hdc1 /mnt/hdc1
    注意紅色標示的地方,沒有此選項會使的FAT32中的資料夾短檔名變成一律小寫,使的rsync會同步CD資料夾為cd而找不到CD資料夾。

2.每天定時同步化檔案和資料夾

  • vi /etc/crontab
    加入以下這行
    50 3 * * * root rsync -a -delete-after -modify-window=3601 -exclude-from=/home/win/rsync_exclude /home/win/ /mnt/hdc1/winbackup/
    注意紅色標示的地方,沒有此選項會使的rsync某些檔案不同步,要重抓或刪除,不過有此選項還是會發生,只是大幅改善很多,詳細原因不清楚,不想裡它了,情況不嚴重就算了。網路上也有人有同樣的情形一情形二

總算完成了這艱鉅的任務,從沒看過有人這樣備份的,自己想到就玩了起來,真是麻煩重重阿,如果你有更好的從windows定時備份到不同顆硬碟的方法,請告訴我,謝謝。

途中曾經有想過要用unison來同步,但是使用上遇到一些問題,放棄了。如果有人想在Fedora 4上嘗試,可由此取得rpm

弄了三天,出了些問題,有點煩不想理他了就這樣。


註一:原本使用選項codepage='cp950′,copy檔案資料夾到linux資料夾時會自動由big5轉成utf8編碼,會使的windows 系統看起來是亂碼,既然我要備份,到時候回存就麻煩了,所以原本想說來源端(windows網芳)跟目的端(FAT32硬碟)都不要改編碼,結果 rsync就不行了。兩個都改編碼就可以了,可是不知道在rsync過程中會不會作big5->utf8->big5的轉換?

沒有留言:

張貼留言