### [筆記] pdumpfs 檔案備份

2015-07-14 工作筆記

之前已經把備份工作都交給同事去處理

沒想到前不久真的發生USER手殘，直接把共享目錄內的文件全選、刪除

結果要倒回檔案的時候，發現備份的檔案不完全(備份工具是freefile sync )，引發後續一些麻煩事情

所以想在原本同事處理的備份工作上，再加一份我自己做的備份作為不時之需

基於之前的習慣，這次還是採用 pdumpfs 來做備份，指令比較簡單

只是這次多加入了把備份的過程導出成 .log 檔，然後依照日期壓縮、存放

主要的邏輯就是 pdumpfs 備份檔案 ，把std out 導出到NAS上存放，然後在每天結束前，把log壓縮、存放到當天的目錄

pdumpfs 的部分就很簡單 > pdumpfs source_dir dest_dir 這樣一行就解決了

然後把 std out 的輸出導入到 log，並加入日期 > /usr/local/sbin/pdumpfs /nas/資訊部 /zp/ai/ > “/nas/DB_Backup/pdumpfs_log/pdumpfs資訊部 `date +\%Y\%m\%d`.log” /nas 是透過 NFS mount 群暉 NAS 的共享目錄進來

要注意的是，原本正常的 script應該是只有 > /usr/local/sbin/pdumpfs /nas/資訊部 /zp/ai/ > “/nas/DB_Backup/pdumpfs_log/pdumpfs資訊部 `date +%Y%m%d`.log” 跟上一行比起來少了 “\” 這個符號

因為本來在console 測試的時候，SCRIPT跑起來都OK，但是放到 crontab 裡面執行，就會發生錯誤 > CMD (pdumpfs /nas/\345\205\261\347\224\250\350\263\207\346\226\231 /zp/public/ > “/nas/DB_Backup/pdumpfslog/pdumpfs\345\205\261\347\224\250\350\263\207\346\226\231_`date +) 中文變亂碼這部分沒問題，但是結尾只有跑到`date + 這邊就結束，會造成錯誤

原因是因為 crontab 跟這種系統變數整合的關係，翻了一下GOOGLE，發現要不就是指定一個系統變數存放日期，要不就是加個 \ 進去處理

我選擇直接用 \% 來取代 %

放到 crontab 裡面，修改一下執行時間，測試OK，SCRIPT 就正式上線了

不過呢，這個SCRIPT跑的是從群暉NAS上備份到二階的備份伺服器

第一層是由三台NAS所組成 (119(群暉) 、219(QNAP)、218(Windows 2012))

然後由其他兩台每天同步到 119上

因為群暉的NFS 可以用偷吃步，直接MOUNT整個 volume 進來，所以比較好處理

Windows 2012 應該是可以直接用 smb mount 進來

至於QNAP就比較少玩，不過應該也不會太麻煩

可能還是要找時間研究一下怎麼把這兩台的share folder 也 mount 到這台備份伺服器上

再一起加入 pdumpfs 的備份工作內

Update: 2015/07/15

Windows 2012 的共享資料夾 如果是中文，而且要透過 mount_smbfs 掛進來的話 會出現亂碼

所以在 mount 的時候要加參數 -L 和 -E > mount_smbfs -L zh_TW.UTF-8 -E UTF-8:UTF-8 -I 192.168.10.218 ‘//chchang@nas-218/NAS-218’ /218/ 感謝 lantw44@ptt

comments powered by Disqus
© 2017 by Lednerb
Bilberry Hugo Theme