因为数据越来越多,完整备份一次数据需要的时间越来越长,虽然用了screen,但是也还是太麻烦。

Linux默认的tar压缩支持增量备份, 百度了一下

linux备份真是太方便了,其实我们常用的tar就是很好的增量备份软件

使用 tar -g 参数进行增量备份实验

完整备份:

#建立测试路径与档案

mkdir test
touch test/{a,b,c};
在test下生成三个文件

#执行完整备份

tar -g snapshot -zcf backup_full.tar.gz test

#查看 tarball 内容

tar ztf backup_full.tar.gz
test/
test/a
test/b
test/c

增量备份:

#新增一个档案

touch test/d

#执行第一次的增量备份 (注意 tarball 档名)

tar -g snapshot -zcf backup_incremental_1.tar.gz test

#查看 tarball 内容

tar ztf backup_incremental_1.tar.gz
test/
test/d

#新增一个档案, 并异动一个档案内容

touch test/e
echo 123 > test/a

#执行第二次的增量备份 (注意 tarball 档名)

tar -g snapshot -zcf backup_incremental_2.tar.gz test

#查看 tarball 内容

tar ztf backup_incremental_2.tar.gz
test/
test/e

还原备份资料:

#清空测试资料

rm -rf test

#开始进行资料还原

tar zxf backup_full.tar.gz
tar zxf backup_incremental_1.tar.gz
tar zxf backup_incremental_2.tar.gz

#查看测试资料

ls test
a b c d e

使用 tar -u 参数进行增量备份

第一次备份:

#建立测试路径与档案

mkdir test
touch test/a test/b test/c

#备份资料

tar zcf backup.tar.gz test

#查看 tarball 内容

tar ztf backup.tar.gz
test/
test/a
test/b
test/c

增量备份:

#新增一个档案, 并异动一个档案内容

touch test/d
echo 123 > test/a

#执行增量备份 (-u 参数只能执行於未压缩的 tarball)

gunzip backup.tar.gz
tar uf backup.tar test
gzip backup.tar

#查看 tarball 内容

tar ztf backup.tar.gz
test/
test/a
test/b
test/c
test/
test/a
test/d

还原备份资料:

#清除测试资料

rm -rf test

#解包 tarball

tar zxf backup.tar.gz

#查看测试资料

ls test
a b c d