Skip to content

Linux 使用自带的 tar 实现增量备份

增量备份的方式

利用 tar -g 参数,在第一次备份时候生成时间戳文件,里面包含指定备份目录下的所有文件的一个时间戳,下次增量备份,tar 会利用时间戳文件去比较,只有那些内容在这段时间有修改的文件,才会被打包。

bash
## 先执行完整备份
cd /backup
tar -g snapshot -zcpPf backup-full.tar.gz \
--exclude=/proc \
--exclude=/mnt \
--exclude=/lost+found \
--exclude=/sys \
--exclude=/media \
--exclude=/run \
--exclude=/backup /
## 差量备份
cd /backup
tar -g snapshot -zcpPf backup-incremental_1.tar.gz \
--exclude=/proc \
--exclude=/mnt \
--exclude=/lost+found \
--exclude=/sys \
--exclude=/media \
--exclude=/run \
--exclude=/backup /
## 先执行完整备份
cd /backup
tar -g snapshot -zcpPf backup-full.tar.gz \
--exclude=/proc \
--exclude=/mnt \
--exclude=/lost+found \
--exclude=/sys \
--exclude=/media \
--exclude=/run \
--exclude=/backup /
## 差量备份
cd /backup
tar -g snapshot -zcpPf backup-incremental_1.tar.gz \
--exclude=/proc \
--exclude=/mnt \
--exclude=/lost+found \
--exclude=/sys \
--exclude=/media \
--exclude=/run \
--exclude=/backup /

定义成脚本

bash
#!/bin/bash
DATE=`date +%Y%m%d%H%M%S`
cd /backup
tar -g snapshot -zcpPf backup-incremental_$DATE.tar.gz \
--exclude=/proc \
--exclude=/mnt \
--exclude=/lost+found \
--exclude=/sys \
--exclude=/media \
--exclude=/run \
--exclude=/backup /
#!/bin/bash
DATE=`date +%Y%m%d%H%M%S`
cd /backup
tar -g snapshot -zcpPf backup-incremental_$DATE.tar.gz \
--exclude=/proc \
--exclude=/mnt \
--exclude=/lost+found \
--exclude=/sys \
--exclude=/media \
--exclude=/run \
--exclude=/backup /

还原

bash
tar xzPf backup-full.tar.gz
tar xzPf backup-incremental_1.tar.gz
## mkdir proc
## mdkir lost+found
## mkdir mnt
## mkdir sys
## mkdir media
## mkdir run
tar xzPf backup-full.tar.gz
tar xzPf backup-incremental_1.tar.gz
## mkdir proc
## mdkir lost+found
## mkdir mnt
## mkdir sys
## mkdir media
## mkdir run

最后编辑时间:

Version 4.0 (framework-1.0.0-rc.20)