说实话,奶牛这些年来一直都是手动完整备份文件,而且每次都是完整备份,其实很早之前就知道有增量备份这种东西了,可能是不太习惯吧,还是一直都是完整备份。今天就记录下tar进行差异备份和增量备份的一些心得。
首先说怎么做一个完整的备份
tar -czvf filename.tgz filename
这是普通的打包命令,没什么特别,下面我们使用一个-g参数
tar -g snapshot -czvf filename.tgz filename
执行完成后会生成一个snapshot文件,里面记录着备份信息。
这里插个分割线,说说增量备份和差异备份。
如果我们想进行增量备份,那么这个snapshot就需要一直更新,每次增量过后这个snapshot文件都会发生改变,如果我们需要还原,则需要把所有增量备份和完整备份一起还原。
如果我们想进行差异备份,那么我们需要把这个snapshot保护起来,然后每次都做针对完整备份的增量备份,那么恢复的时候我们只需要把最后一次增量备份和完整备份一起还原。
优缺点:增量备份占用的空间要小于差异备份,但是恢复起来非常麻烦,特别是比如一个月内只做一次完整备份,其它每天只做增量备份,那么恢复的时候要恢复很多个增量备份文件。
差异备份占用空间要比增量备份大一些,但是如果备份文件修改较少,则差异备份的文件也不会很大,恢复的时候只需要恢复完整备份和差异备份即可,工作量会小很多。
好了,回归正题,我们这里就讲差异备份,增量备份网上一堆参考,不多介绍了。
cp snapshot snapshot.backup
tar -g snapshot -czvf filename-1.tgz filename
mv snapshot snapshot-1.backup
cp snapshot.backup snapshot
这样一来,我们就在snapshot-1.backup中记录了这次差异备份的变化信息了,然后差异备份文件是filename-1.tgz
如果我们要备份的文件或目录里面存在软链接,而我们又需要备份其中软链接对应的文件或目录的源文件,我们则需要增加一个-h属性
tar -czvhf filename.tgz filename
查看tgz文件内容
tar -tvf filename.tgz
好了,奶牛今天的记录至此。