關於在linux系統進行增量備份的方法
1. dump/restore 進行增量備份 注意,這種方法只能進行整個分區備份
# mount /dev/sdb1 /mnt/sdb 新建一個硬盤將其掛載到/mnt/sdb
# ls /mnt/sdb
123 456 aaa.zip f1
裏面有4個文件 f1爲目錄mysql
如今能夠備份原始鏡像
#dump -0u /dev/sdb1 -f /backup/sdb1_0u_110210.dump
DUMP: Date of this level 0 dump: Thu Feb 10 23:21:40 2011
DUMP: Dumping /dev/sdb1 (/mnt/sdb) to /backup/sdb_0u_110210.dump
DUMP: Label: none
.....中間省略
DUMP: Average transfer rate: 5687 kB/s
DUMP: DUMP IS DONE
備份完成linux
dump -0u : 0表明鏡像備份(完整備份) 1-9 分別表明在前一個級別基礎上的增量備份sql
下面進行增量備份:
首先 將123那個文件刪除,新增一個文件kkk 並輸入hello man!
[root@mysql1 sdb]# ls
456 aaa.zip f1 kkk
開始增量備份:
[root@mysql1 sdb]# dump -1u /dev/sdb1 -f /backup/sdb1_1u_110210.dump
DUMP: Average transfer rate: 0 kB/s
DUMP: DUMP IS DONE
如今/backup下有兩個備份了。
[root@mysql1 sdb]# ls /backup
sdb1_0u_110210.dump sdb1_1u_110210.dump
爲了更好了解咱們在增長一個備份,備份以前咱們再改變如下分區裏面的文件
修改 456 內容爲456 modifiy 刪除aaa.zip
[root@mysql1 sdb]# ls
456 f1 kkk
備份第二個增量,這裏用3u 只要比前面大就能夠了,建議備份都用2u 4u 6u 這樣備份,否則你全部數字都用上,123456 若是想從新再2u的基礎上再備份就不行了,由於3已經用了,你只能在6後面備份
[root@mysql1 sdb]# dump -3u /dev/sdb1 -f /backup/sdb1_3u_110210.dump
備份完畢 就刪除裏面的全部記錄
而後如今開始恢復
[root@mysql1 sdb]# restore -r -f /backup/sdb1_0u_110210.dump 先恢復0u
[root@mysql1 sdb]# ls
123 456 aaa.zip f1 restoresymtable
這時候把第一備份都還原出來了,而後一個一個還原
# restore -r -f /backup/sdb1_1u_110210.dump
# restore -r -f /backup/sdb1_3u_110210.dump
# ls
456 f1 kkk restoresymtable
和最後一次備份同樣了
查看備份鏡像裏面的內容
# restore -t -f /backup/sdb1_1u_110210.dump
Dump date: Thu Feb 10 23:28:38 2011
Dumped from: Thu Feb 10 23:21:40 2011
Level 1 dump of /mnt/sdb on mysql1.dog.com:/dev/sdb1
Label: none
2 .
16 ./kkk
提取鏡像裏的文件
[root@mysql1 sdb]# restore -if /backup/sdb1_3u_110210.dump
restore > ls
.:
3 f1/ lost+found/ restoresymtable
456 kkk newfileless
restore > add kkk
restore > extract
You have not read any volumes yet.
Unless you know which volume your file(s) are on you should start
with the last volume and work towards the first.
Specify next volume # (none if no more volumes): 1
set owner/mode for '.'? [yn] n
restore > quit
關於按期備份的方案:
先作一個完整的備份
#dump -0u /dev/sdb1 -f /backup/sdb1_0u_110210.dump
週一:#dump -2u /dev/sdb1 -f /backup/sdb1_1u_110210.dump
週二:#dump -2u /dev/sdb1 -f /backup/sdb1_2u_110210.dump
週三:#dump -2u /dev/sdb1 -f /backup/sdb1_3u_110210.dump
。。。。。
--------------------------------------------------------------------------------------------------------------------
下面這方法比較靈活,直接用tar備份
# cd /test/t1
# ls
aaa.zip file1 file2 file3
有三個文件
首先執行完整備份
# tar -g snapshot -zcf backupp_full.tar.gz /test/t1
而後修改文件,增長一個文件
進行增量備份:
# tar -g snapshot -zcf backupp_incremental_1.tar.gz /test/t1
修改
再次增量備份
# tar -g snapshot -zcf backupp_incremental_2.tar.gz /test/t1
還原
tar zxf backup_full.tar.gz -C /
tar zxf backup_incremental_1.tar.gz -C /
tar zxf backup_incremental_2.tar.gz -C /
注意,修改的文件之後面增量備份爲準,刪除的文件這個種備份方法是不會跟着刪除的,恢復的時候以前刪除的文件也會恢復ide
另外一種tar 備份 用-u參數進行增量備份,一樣刪除的文件不會同步ui
備份資料
tar zcf backup.tar /test/t1this
查看 內容
tar ztf backup.tar
file1 file2 file3spa
在/test/t1下新增一個文件rest
增量備份
tar uf backup.tar /test/t1
還原備份其實就是直接解壓
tar zxf backup.tarip
若是你須要壓縮增量備份的時候須要先將原來那個解壓而後再備份在壓縮 (-u 參數不會自動壓縮) gunzip backup.tar.gz tar uf backup.tar test gzip backup.tar