首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 增量备份的函数

Linux增量备份是一种备份策略,它只备份自上次完整备份以来发生变化的文件。这种备份方式相比全备份更加高效,因为它减少了所需备份的数据量,从而节省了存储空间和备份时间。增量备份通常与完整备份结合使用,以确保数据的完整性和可恢复性。

基础概念

增量备份基于文件的修改时间戳和状态信息来确定哪些文件自上次备份以来发生了变化。它通常包括以下几种类型:

  1. 完整备份:备份所有选定的文件。
  2. 增量备份:仅备份自上次完整备份或增量备份以来发生变化的文件。
  3. 差异备份:备份自上次完整备份以来发生变化的所有文件,与增量备份不同,差异备份不依赖于之前的增量备份。

优势

  • 节省存储空间:只备份变化的数据,减少了存储需求。
  • 节省时间:备份过程更快,因为只需要处理变化的数据。
  • 恢复速度:虽然恢复时需要先恢复完整备份,然后依次恢复所有相关的增量备份,但现代备份软件可以优化这一过程。

类型

  • 基于时间的增量备份:根据文件的时间戳来确定哪些文件需要备份。
  • 基于更改的增量备份:根据文件的更改状态(如文件系统的日志)来确定备份内容。

应用场景

  • 日常备份:对于频繁更新的数据,如日志文件、数据库等,增量备份可以显著减少备份时间和存储需求。
  • 灾难恢复:在数据丢失或系统故障时,可以通过完整备份和增量备份快速恢复数据。

实现方法

在Linux中,可以使用多种工具来实现增量备份,例如 rsynctar 结合 find 命令等。

使用 rsync 进行增量备份

rsync 是一个非常强大的文件同步和备份工具,它可以轻松实现增量备份。

代码语言:txt
复制
# 完整备份
rsync -avz /source/directory /backup/destination/

# 增量备份
rsync -avz --link-dest=/backup/destination/ /source/directory /backup/destination/

在这个例子中,--link-dest 参数指定了上一次完整备份的目录,rsync 会自动计算并只传输变化的数据。

使用 tarfind 进行增量备份

代码语言:txt
复制
# 创建完整备份
tar -czf full_backup.tar.gz /source/directory

# 创建增量备份
find /source/directory -newer full_backup.tar.gz -print0 | xargs -0 tar -czf incremental_backup_$(date +%Y%m%d).tar.gz

在这个例子中,find 命令用于查找自上次完整备份以来发生变化的文件,然后 tar 命令将这些文件打包成增量备份。

可能遇到的问题及解决方法

  1. 备份数据不一致:确保备份过程中系统稳定,避免在备份过程中对数据进行修改。
  2. 备份文件损坏:定期检查备份文件的完整性,可以使用 md5sum 或其他校验工具。
  3. 恢复速度慢:优化备份策略,例如定期进行完整备份,减少增量备份的数量。

参考链接

通过上述方法和工具,可以有效地在Linux系统中实现增量备份,确保数据的安全性和可恢复性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux下的rsync远程增量备份详解

一、rsync工具介绍1.rsync工具简介rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。...可以使用--suffix选项来指定不同的备份文件前缀。--backup-dir 将备份文件(如~filename)存放在在目录下。...whole-file 拷贝文件,不进行增量检测-x, --one-file-system 不要跨越文件系统边界-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节-e, -...,用来排除那些不希望传输的文件二、rsync备份方法1.备份要求将control端的/data/tmp/下所有文件备份到node1端的user1用户/data/backup/control/目录下2.备份源路径...node1上备份文件变化情况,发现修改权限的文件进行了备份,权限保持了一致。

87340

完全备份、差异备份、增量备份的区别

增量备份 (Incremental Backup ) 备份自上一次备份(包含完全备份、差异备份、增量备份)之后有变化的数据。...增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加和者被修改的文件。...这就意味着,第一次增量备份的对象是进行全备份后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,如此类推。...2、差异备份与增量备份的区别 通过上面的概念分析可以知道,差异备份与增量备份的区别在于它们备份的参考点不同:前者的参考点是上一次完全备份、差异备份或增量备份,后者的参考点是上一次完全备份。...完全备份与增量备份 以每周数据备份为例,在星期一进行完全备份,在星期二至星期五进行增量备份。如果在星期五数据被破坏了,则你需要还原星期一正常的备份和从星期二至星期五的所有增量备份。

4.2K20
  • linux下rsync和tar增量备份梳理

    前面总结过一篇全量备份/增量备份/差异备份说明,下面介绍下linux下rsync和tar两种增量备份的操作记录: 1)rsync备份 rsync由于本身的特性,在第一次rsync备份后,以后每次都只是传内容有改变的部分...现在进行增量备份,rsync在第一次同步后,后面就只同步内容有改变的部分 温馨提示: rsync使用--delete参数,在做增量方式的全备份可以说是最佳选择。.../aaaa [root@linux-node3 mnt]# ls test/ aaa aaaa test1 test2 test3 执行第二次的增量备份 [root@linux-node3...可能出现下面两种问题: --> snapshot时间戳文件是每次增量备份完成时候更新的,如果在两次备份间隔间,由于io问题,上次备份没完成,第二次增量备份就开始的话, 就有可能出现,第二次增量备份并不是一个备份间隔有修改过的文件...因此,可以利用find+tar来做增量备份的想法。

    3.8K110

    mysql—总体备份和增量备份

    总体备份: 对整张表或者整个数据库甚至全部数据库进行备份。 增量备份: 对某一范围内的数据进行备份。...1、总体备份: 对表进行备份: 针对存储引擎为myisam的表,能够直接复制frm、myd、myi这三个文件起到备份的效果。须要还原的时候,再复制回来就能够达到还原效果。...假设存储引擎为innodb的表,就不这样简单了,由于全部表的数据和索引都存在一起(表空间)。一旦复制表空间,全部表的数据和索引就跟着一起复制过来。 怎样进行备份?...在E盘的备份文件夹下出现了table1文件 打开table1文件,能够看到文件实际存储的是建表语句和插入数据的SQL语句 如今我们删除tab_one表,用table1来还原tab_one 再查看...答:mysqldump -u用户 -p -A >备份文件路径 2、增量备份 首先启动二进制日志功能,通过设置my.ini或者my.conf 在mysqld以下加入二进制备份路径(注意路径是左斜杠‘/

    5.1K20

    mysql备份策略的实现(全量备份+增量备份)

    设计场景 1)增量备份在周一到周六凌晨3点,复制mysql-bin.00000*到指定目录; 2)全量备份则使用mysqldump将整个数据库导出,每周日凌晨3点执行,并会删除上周留下的mysq-bin....00000*,然后对mysql的备份操作会保留在bak.log文件中。...#增量日志文件目录 (2)修改所属的用户/组:(不修改,mysql无法重启) #chown -R mysql.mysql mysql-bin (3)修改mysql配置文件,执行: #vim /etc/my.cnf...目录 新建目录:mkdir backup 进入backup目录,新建daily目录:mkdir backup 切换到/home/mysql目录,执行: #vim Mysql-FullyBak.sh 编写增量备份脚本...3:00做增量备份0 3 * * 1-6 /bin/bash -x /home/mysql/Mysql-DailyBak.sh >/dev/null 2>&1

    4K30

    全量备份增量备份差异备份说明

    作为一名运维工程师,在日常工作中会时常对各类重要数据进行备份,为了方便管理,运用何种备份方案是至关重要的。 今天在此简单说明下Linux运维中的备份种类:全量备份、增量备份、差异备份。...2)增量备份 增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后(包含全量备份、差异备份、增量备份),所有发生变化的文件。...增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加和者被修改的文件。...这就意味着,第一次增量备份的对象是进行全备后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,如此类推。...但增量备份的数据恢复是比较麻烦的。

    4.2K70

    MySQL实时增量备份

    MySQL实时增量备份,采用binlog日志的好处   掌控所有更改操作,必要时可用于恢复数据 数据库主从复制的必要条件 [root@localhost~]# vim /etc/my.cnf [mysqld...--target-dir 备份到目标文件夹 --datadir 备份的原始文件夹(Mysql库的位置) --prepare 准备恢复数据 --increamental-basedir 增量备份时,指定参照的完整备份路径...--incremental-dir 准备恢复目录时,指定增量备份的路径  1)使用XtraBackup执行数据库备份 [root@localhost~]# mkdir -p /backup/mysql...: [root@localhost~]# ls /backup/inc01/ 对比完整备份、增量备份的大小: [root@localhost~]# du -sh /backup/mysql/ /backup...+增量备份” 以/backup/mysql/用来重建MySQL服务器,但这种情况下需提前合并相关增量备份的数据: 先准备完整备份目录,添加--apply-log-only仅应用日志: [root@loclahost

    2.7K40

    innobackupex备份恢复+增量备份与恢复

    xtrabackup : 这个备份工具是挺好的,但是有缺陷,只可以备份innodb;但是我们也需要备份myisam,然后就出来了一个工具:innobackupex,也就是我们今天所用的!.../data/backup/ 92M /data/backup/ 3.2 创建增量备份 再开始之前,我们先模拟增加一个库,这个就是我们所谓的增加的数据!...] backup]# du -sh * 92M 2017-08-24_22-57-43 16M 2017-08-24_23-10-21 --------------------------- 第一次增量备份的数据只有...,我们再次做增量备份的时候要基于刚刚已经做了的基础上面再次增量,也就是2017-08-24_23-10-21。...也即是说这样这次的增量里面才会有刚刚咱们添加的db123库的信息。 ---- 四、增量备份的恢复 4.1 为了还原真实性,我模拟删除数据库,并且停掉mysql,利用咱们已经备份的数据去恢复它。

    12.4K100

    Oracle 增量备份恢复验证

    首先把Oracle备份文件传到目标端,解压,如下所示是每天的备份,其中20190816是0级别的差异增量备份 ,其余的都是1级的差异增量备份。...: RMAN> catalog start with '/data/backup/oracle'; 3.2具体恢复,基于时间的恢复,选择一个比较大的时间,就是肯定在备份时间之后的时间!...首先在完成最后一次增量备份后,再主库insert一条数据, SQL> insert into liuwenhe.test values (1010101); SQL>commit; SQL> alter...,然后告诉rman备份文件以及最近的归档在哪里: RMAN> catalog start with '/data/backup/oracle'; 具体恢复,基于时间的恢复,选择一个比较大的时间,就是肯定在备份时间之后的时间...至此完成了增量备份的恢复! RMAN不完全恢复的主要操作命令!

    1.2K10

    Tar命令之增量备份

    因为数据越来越多,完整备份一次数据需要的时间越来越长,虽然用了screen,但是也还是太麻烦。...Linux默认的tar压缩支持增量备份, 百度了一下来源 linux备份真是太方便了,其实我们常用的tar就是很好的增量备份软件 使用 tar -g 参数进行增量备份实验 完整备份: #建立测试路径与档案...#执行第一次的增量备份 (注意 tarball 档名) tar -g snapshot -zcf backup_incremental_1.tar.gz test #查看 tarball 内容 tar...backup_incremental_1.tar.gz test/ test/d #新增一个档案, 并异动一个档案内容 touch test/e echo 123 > test/a #执行第二次的增量备份...> test/a #执行增量备份 (-u 参数只能执行於未压缩的 tarball) gunzip backup.tar.gz tar uf backup.tar test gzip backup.tar

    1.8K10

    Tar命令之增量备份

    因为数据越来越多,完整备份一次数据需要的时间越来越长,虽然用了screen,但是也还是太麻烦。...Linux默认的tar压缩支持增量备份, 百度了一下来源 linux备份真是太方便了,其实我们常用的tar就是很好的增量备份软件 使用 tar -g 参数进行增量备份实验 完整备份: #建立测试路径与档案...查看 tarball 内容 tar ztf backup_full.tar.gz test/ test/a test/b test/c 增量备份: #新增一个档案 touch test/d #执行第一次的增量备份...backup_incremental_1.tar.gz test/ test/d #新增一个档案, 并异动一个档案内容 touch test/e echo 123 > test/a #执行第二次的增量备份...> test/a #执行增量备份 (-u 参数只能执行於未压缩的 tarball) gunzip backup.tar.gz tar uf backup.tar test gzip backup.tar

    1.1K30

    Jtti:什么是增量备份和差异备份

    增量备份和差异备份是两种备份策略,它们的区别主要体现在备份时选择哪些数据进行备份。...增量备份(Incremental Backup):定义: 增量备份仅备份自上次备份以来发生变化的数据,不论是上次的完整备份还是增量备份。...因此,每次增量备份都只包含自上次备份以来新创建或更改的文件和数据。优点:节省备份时间和存储空间,因为只备份变化的数据。备份速度相对较快,尤其是当数据变化较少时。...选择使用增量备份还是差异备份取决于具体的需求和恢复策略:如果注重备份速度、希望占用较少存储空间,并且可以容忍稍微复杂一些的恢复过程,增量备份可能是一个不错的选择。...在实际应用中,有些组织可能会结合使用增量备份和差异备份,根据数据变化的情况和业务需求来选择不同的备份策略。

    43820

    docker mysql增量备份和全量备份

    在微服务架构中,Docker已经成为了应用程序部署与管理的主流方式。MySQL作为常用的数据库之一,数据备份显得尤为重要。...本文将介绍如何在Docker环境中进行MySQL的全量备份和增量备份,并附带代码示例及可视化工具,让备份过程更加清晰易懂。全量备份全量备份是指将数据库的所有数据进行备份。...> /path/to/backup/your_database_name_full.sql:将备份数据重定向到指定路径。增量备份增量备份是指只备份自上次备份以来发生变化的数据。...MySQL提供了二进制日志(binlog)用于增量备份。首先,需要确保在MySQL配置中启用了二进制日志。...backup/your_database_name_incremental.sql在这个命令中:mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS":选择增量备份的起始时间

    5010

    使用 rsync 远程备份增量数据

    配置备份主机和目标主机的 ssh 免密认证 先生成主机ssh公钥和私钥,并添加主机公钥到远程备份主机的可信任公钥列表: $ ssh-keygen $ cat ~/.ssh/id_rsa.pub | ssh...root@remotehost 'cat >> ~/.ssh/authorized_keys' 执行远程备份 在 shell 环境中执行备份命令或添加备份命令至 Crond 配置文件实现周期执行备份,...如下示例命令表示:仅递归同步当前主机下的/sourcedir 目录下的 dir1,dir2 目录文件: $ rsync --progress --delete -arHz --include 'dir1.../' --include 'dir2/' --exclude '/*' /sourcedir/ root@remotehost:/backup/ 可根据实际情况变更备份参数,上述的备份命令参数说明: -...a: 归档文件模式 -r: 递归同步 -H: 建立文件硬链接 -z: 使用压缩文件传输 --progress: 输出同步日志 --delete: 同步删除与原数据不匹配的数据(非常有用) --include

    1.9K63

    rsync备份大量数据_SnapShot能做增量备份吗

    文章目录 一、rsync 简介 二、实验过程 三、rsync 命令 四、编译安装包下载 ---- 一、rsync 简介   sync 是一个常用的 Linux 应用程序,用于文件同步。...可以使用--suffix选项来指定不同的备份文件前缀 --backup-dir 将备份文件(如~filename)存放在在目录下 -suffix=SUFFIX 定义备份文件前缀 -u, --update...-n, --dry-run现实哪些文件将被传输 -w, --whole-file 拷贝文件,不进行增量检测 -x, --one-file-system 不要跨越文件系统边界 -B, --block-size...=DIR 同样比较DIR中的文件来决定是否需要备份 -P 等同于 --partial --progress 显示备份过程 -z, --compress 对备份的文件在传输时进行压缩处理 --exclude...101.34.22.188/rsync/inotify-tools-3.14.tar.gz ---- 参考: rsync实时同步mysql数据库 rsync同步mysql_CentOS之间rsync做文件增量

    1.1K40
    领券