最後更新: 2024-05-02
介紹
dar = Disk ARchive
- Store a backup in several files (called "slices") of a given size (i.e. DVD-RW 4G)
- Its ability to make differential and decremental backups.
- Saves data and metadata
指令格式:
dar [-c | -x | -l | -d | -t | -C | -+] [<path>/]<basename> [options]
level_1:
mkdir /home/backup
chmod 700 backup
dar -c /home/backup/lamp_www -R /var/www/datahunter.servehttp.com \
-e -z4
# 執一次模擬備份, 並以 gzip 的 level 4 來縮壓 ( default 是以 level 9 的 )
# 它會備份在 /var/www/datahunter.servehttp.com 目錄內的所有內容,
# 並存檔成 /home/backup/lamp_www.dar
level_2:
dar -c /home/backup/lamp_www -R /var/www/datahunter.servehttp.com \
-e -z4 -b -p -s100M
# 建基於上面例子, 今之加了一行
# 它會每 100MB 作一次分剖 ( lamp_www.1.dar lamp_www.2.dar ... )
# 並會響鍾提示按 "Enter" 繼續建立下一個備份
level_3:
dar -c /home/backup/lamp_www -R /var/www/datahunter.servehttp.com \
-e -z7 -b -p -s100M \
-X "*~" -X ".*~" -P files/backup_migrate -P files/share -D
# 再建基於上面的列子, 今次加入了不備份什麼的指令
# -X 是指不備份什麼名的檔案, 它是可以用 * 及 ? 的
# -P 是指不備份什麼路徑下的檔案
# -D 是與 -P 一起用, 是指保持目錄結構
============================================
設定檔:
dar 共有兩個設定檔, 分別是 ~/.darrc 及 /etc/darrc
當執行程式時會載入它們的設定值
如果不想載入的話, 那就要加上 "-N"
如果加入 "-N" 則會忽略以上兩檔案
============================================
查看包內的檔案清單:
dar -l lamp_www.1.dar
# 由於以上包名有 ".1.", 那dar會認為是 slice 來
# 但照按 ENTER 照過
顯示格式:
[data ][ EA ][compr] | permission | user | group | size | date | filename
============================================
測試包的原整性:
dar -t lamp_www.1.dar
============================================
差異備份:
dar -c lamp_www_diff -A lamp_www -B bu_www -R /var/www/datahunter.servehttp.com/
-A 在那個包上建上差異備份
只需要輸入檔案名就可以, 不用尾的 .1.dar 之類
-B 是指載入設定檔, 而無視 ~/.darrc 及 /etc/darrc, 以此減少指令長度
------------------------------------- bu_www 內容 -------------------------------------
-z7 -b -p -s100M -X "*~" -X ".*~" -P files/backup_migrate -P files/share -D
----------------------------------------------------------------------------------------------
注意 !!!! 在差異備份上會 del 檔案
----------------------------------------------------------------------
5 inode(s) recorded as deleted from reference backup
----------------------------------------------------------------------
還原
還原全部 File
dar -d /home/backup/lamp_www -R /var/www/datahunter.servehttp.com
還原個別檔案:
dar -x /home/backup/lamp_www.1.dar -g sites/datahunter.servehttp.com/settings.php
# 如果是用 "增量" 的備份的話, 那可能要續個備份找最新的 settings.php 出來
dar -d /home/backup/lamp_www -R /var/www/datahunter.servehttp.com -r
-r 是指不要舊檔案 overwrite 目標的新檔案