rsnapshot 安裝與使用方式

  • 官方網址 - http://www.rsnapshot.org/
  • 使用 perl 撰寫呼叫 rsync, ssh, diff, du.. 的一個同步備份檔案工具程式
  • 目前版本 1.3.1

安裝方式

  • 如果已經有安裝 rpmforge 可以直接下
    yum install rsnapshot

備份方式

  • 範例一:
    • 每四小時備份以下目錄資料到 /data1500G/backup/.snapshots 內
      • /pd920/wd1t/web-data/ localhost/
    • 編輯 /etc/rsnapshot.conf
      :
      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/
      :

  1. 參數檔內的參數間必須是 tab 隔開, 如果輸入空白格就會出現錯誤
  2. interval hourly 6 表示要保留 6 分差異備份, 如果在 /etc/crontab 內設定每兩小時執行一次 hourly, 2*6=12 那就保留 12 小時前的差異資料, 若要保留 24 小時前的資料, 要改成 12 (2*12=24)這樣才會有 12 次的備份資料

  • 測試設定
    rsnapshot hourly &
    rsnapshot du

  • 設定到 /etc/crontab 內

    :
    15 */4 * * * root /usr/bin/rsnapshot hourly
    :

  • 範例二:
    • 每天備份以下目錄資料到 /data/backup/.snapshots 內(保留最近三天的差異資料)
      • /pd920/wd1t/xen/ localhost/
    • 複製 /etc/rsnapshot.conf 成 /etc/rsnapshot_day.conf

      cp -a /etc/rsnapshot.conf /etc/rsnapshot_day.conf

    • 編輯 /etc/rsnapshot_day.conf

      :
      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
      :
      ###############################
      ### BACKUP POINTS / SCRIPTS ###
      ###############################
      
      # LOCALHOST
      backup /pd920/wd1t/xen/    localhost/
      :

    • 測試設定

      rsnapshot -c /etc/rsnapshot_day.conf hourly &
      rsnapshot -c /etc/rsnapshot_day.conf du

    • 設定到 /etc/crontab 內

      :
      15 0 * * * root /usr/bin/rsnapshot -c /etc/rsnapshot_daily.conf hourly
      :

  • daily 參數的使用是搬移 hourly 的最後一份, 所以必須要先有 hourly 才能有 daily
  • hourly 最小值是 2 , 最少要有兩份.. hourly.0 hourly.1 不能只有一份 hourly.0

  • 這樣可以在
    • /data1500G/backup/.snapshots/hourly.0/localhost/ 內出現 pd920/wd1t/web-data/
    • /data/backup/.snapshots/hourly.0/localhost/ 內出現 pd920/wd1t/xen/

還原方式

  • 可直接將 .snapshots 內特定的備份版本透過 cp -a 的方式複製到還原目錄即可
  • 以範例一的 12 小時前的備份版本 /data1500G/backup/.snapshots/hourly.2/localhost/pd920/wd1t/web-data/ 要還原到 /data/web-data 就可以直接下
    cp -a /data1500G/backup/.snapshots/hourly.2/localhost/pd920/wd1t/web-data/ /data/

參考說明

 
回到頁頂
tech/rsnapshot.txt (653) · 上一次變更: 2012-04-24 15:27 由 jonathan
 
 
CC Attribution-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0