顯示頁面舊版反向連結Fold/unfold all回到頁頂 本頁是唯讀的,您可以看到原始碼,但不能更動它。您如果覺得它不應被鎖上,請詢問管理員。 ====== rsnapshot 安裝與使用方式 ====== * 官方網址 - http://www.rsnapshot.org/ * 使用 perl 撰寫呼叫 rsync, ssh, diff, du.. 的一個同步備份檔案工具程式 * 目前版本 1.3.1 ===== 安裝方式 ===== * 如果已經有安裝 rpmforge 可以直接下 <code sh> yum install rsnapshot </code> ===== 備份方式 ===== * 範例一: * 每四小時備份以下目錄資料到 /data1500G/backup/.snapshots 內 * /pd920/wd1t/web-data/ localhost/ * 編輯 /etc/rsnapshot.conf <file> : snapshot_root /data1500G/backup/.snapshots/ : cmd_ssh /usr/bin/ssh : cmd_rsnapshot_diff /usr/bin/rsnapshot-diff : ######################################### # BACKUP INTERVALS # # Must be unique and in ascending order # # i.e. hourly, daily, weekly, etc. # ######################################### interval hourly 6 interval daily 7 interval weekly 4 #interval monthly 3 : logfile /var/log/rsnapshot : ############################### ### BACKUP POINTS / SCRIPTS ### ############################### # LOCALHOST backup /pd920/wd1t/web-data/ localhost/ #backup /home/ localhost/ #backup /etc/ localhost/ #backup /usr/local/ localhost/ : </file> <note> - 參數檔內的參數間必須是 tab 隔開, 如果輸入空白格就會出現錯誤 - interval hourly 6 表示要保留 6 分差異備份, 如果在 /etc/crontab 內設定每兩小時執行一次 hourly, 2*6=12 那就保留 12 小時前的差異資料, 若要保留 24 小時前的資料, 要改成 12 (2*12=24)這樣才會有 12 次的備份資料 </note> * 測試設定 <code sh> rsnapshot hourly & rsnapshot du </code> * 設定到 /etc/crontab 內<file> : 15 */4 * * * root /usr/bin/rsnapshot hourly : </file> * 範例二: * 每天備份本地目錄與遠端目錄資料到 /data/backup/.snapshots 內(保留最近三天的差異資料) * 本地目錄 : /pd920/wd1t/xen/ -> localhost/ * 遠端目錄 : jonathan@nw1.com.tw:/samba_bak/ -> nw1/ * 過濾不需同步 /samba_bak/data/temp/ 目錄底下所有資料 * 複製 /etc/rsnapshot.conf 成 /etc/rsnapshot_day.conf<code sh> cp -a /etc/rsnapshot.conf /etc/rsnapshot_day.conf </code> * 編輯 /etc/rsnapshot_day.conf<file> : snapshot_root /data/backup/.snapshots/ : : ######################################### # BACKUP INTERVALS # # Must be unique and in ascending order # # i.e. hourly, daily, weekly, etc. # ######################################### interval hourly 3 interval daily 7 interval weekly 4 #interval monthly 3 : logfile /var/log/rsnapshot_daily : lockfile /var/run/rsnapshot_daily.pid : exclude /samba_bak/data/temp/ : ############################### ### BACKUP POINTS / SCRIPTS ### ############################### # LOCALHOST backup /pd920/wd1t/xen/ localhost/ backup jonathan@nw1.com.tw:/samba_bak/ nw1/ : </file> * 測試設定 <code sh> rsnapshot -c /etc/rsnapshot_day.conf hourly & rsnapshot -c /etc/rsnapshot_day.conf du </code> * 設定到 /etc/crontab 內<file> : 15 0 * * * root /usr/bin/rsnapshot -c /etc/rsnapshot_daily.conf hourly : </file> <note> * daily 參數的使用是搬移 hourly 的最後一份, 所以必須要先有 hourly 才能有 daily * hourly 最小值是 2 , 最少要有兩份.. hourly.0 hourly.1 不能只有一份 hourly.0 </note> * 這樣可以在 * /data1500G/backup/.snapshots/hourly.0/localhost/ 內出現 pd920/wd1t/web-data/ * /data/backup/.snapshots/hourly.0/localhost/ 內出現 pd920/wd1t/xen/ ===== 設定備份完成通知 ===== * 主要是透過 utils/rsnapreport.pl 產生這次備份統計結果來通知 * 先將 rsnapreport.pl 連結到 /usr/bin 目錄下<code sh> ln -s /usr/share/doc/rsnapshot-1.3.1/utils/rsnapreport.pl /usr/bin/rsnapreport.pl chmod a+x /usr/bin/rsnapreport.pl </code> * 更改 /etc/rsnapshot.conf 內的設定<file> : verbose 4 : rsync_long_args --stats : </file> * 更改 /etc/crontab 內的啟動方式<file> : # rsnapshot 12 */2 * * * root /usr/bin/rsnapshot hourly 2>&1 | /usr/bin/rsnapreport.pl | mail -s"rsnapshot Sync Report" tryweb@ichiayi.com : </file> ===== 分享最新備份目錄 ===== * 透過權限設定與目錄掛載方式分享給需要讀取備份者使用 * Exp. 有個帳號 backup 可以看到最新的備份目錄 - 設定原本備份目錄其他用戶可讀取權限 Exp. /data2000/backup/.snapshots/ <code sh> chmod 0755 /data2000/backup/.snapshots/ </code> - 設定 nfs 提供出分享目錄 Exp. /data2000/backup/.snapshots/hourly.0/nw1/samba <code sh> vi /etc/exports ---- : /data2000/backup/.snapshots/hourly.0/nw1/samba 127.0.0.1(ro,no_root_squash) ---- service nfs restart </code> - 設定 backup 可讀取這最新備份目錄 Exp. /home/backup/nw1_samba 看到 nfs 分享目錄 <code sh> vi /etc/fstab ---- : localhost:/data2000/backup/.snapshots/hourly.0/nw1/samba /home/backup/nw1_samba nfs ro 0 0 ---- mount /home/backup/nw1_samba </code> - 登入 backup 身份存取最新備份目錄的檔案 ===== 還原方式 ===== * 可直接將 .snapshots 內特定的備份版本透過 cp -a 的方式複製到還原目錄即可 * 以範例一的 12 小時前的備份版本 /data1500G/backup/.snapshots/hourly.2/localhost/pd920/wd1t/web-data/ 要還原到 /data/web-data 就可以直接下 <code sh> cp -a /data1500G/backup/.snapshots/hourly.2/localhost/pd920/wd1t/web-data/ /data/ </code> ===== 參考說明 ===== * http://www.ascc.sinica.edu.tw/iascc/articals.php?_section=2.4&_op=?articalID:2151 * http://www.rsnapshot.org/howto/1.2/rsnapshot-HOWTO.en.html#all_users {{tag>rsync backup rsnapshot}} tech/rsnapshot.txt 上一次變更: 2014/04/11 07:56由 jonathan