zoukankan      html  css  js  c++  java
  • tar 增量备份

    因为数据越来越多,完整备份一次数据需要的时间越来越长,虽然用了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/a
    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

    其它资料:

    http://www.php-oa.com/2007/12/26/tar-incremental.html

    http://lesca.me/blog/2012/03/01/how-to-incrementally-backup-linux-with-gnu-tar/

    http://www.2cto.com/os/201107/96236.html

  • 相关阅读:
    tomcat源码springboot搭建的跑包含websocket的项目
    tomcat源码ant编译
    职责链设计模式最简单的实例
    完美解决asp.net core 3.1 两个AuthenticationScheme(cookie,jwt)共存在一个项目中
    基于领域驱动设计(DDD)超轻量级快速开发架构(二)动态linq查询的实现方式
    Html5 在手机端 input 默认弹出英文键盘
    Html Table 表格 画斜线
    多个单列索引和联合索引的区别
    springboot常用功能
    前端代码评审(Code Review)
  • 原文地址:https://www.cnblogs.com/ghost240/p/3078223.html
Copyright © 2011-2022 走看看