海域动态监视监测管理系统

上一次我们建立一个强大的备份系统时 ,现在我们将研究如何监视备份集。 我们需要验证是否正确清理了备份集(这称为删除策略),并且它们是一致的(称为一致性策略)。

备份集可以包含多个文件集。 文件集是备份文件的集合,位于备份集的同一源目录下。

以下YAML配置显示了备份集和文件集的示例:

backup-set-configs:
- name: Mikrotik Backupsuri: /volume1/backupftp/mikrotik_backuptype: DISKfile-set:- name: fe-prodnet01 exportfilterPattern: '.*fe-prodnet01-.*\.rsc'- name: fe-prodnet11 backupfilterPattern: '.*fe-prodnet11.*\.backup'
- name: Exchange Backupsuri: /volume1/pex/backupstype: DISKfile-set:- name: Exchange pstsfilterPattern: '.*\.pst'groupByPattern: '.*\/backups\/(\d{4}-\d{2}-\d{2})\/'groupByPatternHasDatePattern: 'yyyy-MM-dd'deletePolicy:deleteEmptyDirectories: true
- name: Proxmox Backupsuri: /volume1/proxmox/dumptype: DISKfile-set:- name: QEMU backupsfilterPattern: '.*vzdump-qemu.*\.vma\.lzo'groupByPattern: 'proxmox/dump/vzdump-qemu-(\d+)-'consistencyPolicy:numberOfBackupsRequired: 3- name: LXC backupsfilterPattern: '.*vzdump-lxc.*\.tar\.lzo'groupByPattern: 'proxmox/dump/vzdump-lxc-(\d+)-'consistencyPolicy:numberOfBackupsRequired: 3

第一个备份集位于/volume1/backupftp/mikrotik_backup目录下,并包含两组文件。 当多个服务器的文件位于同一目录中时,通常将以这种方式进行配置。 如第三个示例所示,还有另一种解决方案按服务器名称(或任何标识符)分组。

文件集具有name ,这只是GUI和filterPattern的逻辑名称。 无论目录树有多深,此模式都将过滤备份集路径下匹配的所有文件。

删除策略和一致性策略将按修改日期(在磁盘上)从大到小的顺序应用于文件。

第二个备份集用于交换备份。 请注意,在此示例中,我们如何使用groupByPattern 。 这通过groupByPattern所有过滤的文件名(来自filterPatterngroupByPattern 。 在这种情况下, groupByPattern也是日期模式,由groupByPatternHasDatePattern指定。

我们将得到一个文件集,该文件集按照指定的日期模式按日期分组,并且删除策略和一致性策略将按顺序将删除和一致性策略应用于匹配的文件(分组日期)。

第三个备份集(用于Proxmox备份)将文件存储在“转储”目录中,并混合两种类型的备份。 QEMU和LXC备份分为两个文件集,并由(\d+)指定的VMID(虚拟机标识符)分组。 由于groupByPattern是十进制值而不是日期,因此删除和一致性策略将按修改日期(在磁盘上)以降序顺序应用于匹配的文件。

请注意,我们并不总是指定deletePolicyconsistencyPolicy ,因为我们在这两个政策的合理的默认值。 它们都将针对每个备份集和其中的每个文件集执行。

deletePolicy具有两个配置设置:

  • deleteEmptyDirectories :默认情况下处于禁用状态,当您有一个groupByPattern作为日期值时,此设置很有用。 当超过保留策略时,该目录中的所有文件都将被删除,从而为您留下一个空的“日期”目录。 在这种情况下,您可以指定deleteEmptyDirectories 。 该目录只有在确实为空的情况下才会被清理(以防其他日志文件徘徊)。
  • deleteNumberOfBackupsLargerThan :默认情况下为30。对于每日备份,这类似于30天。 如果您每周备份一次,则表示保留政策为30周。 当然,无论天数如何,都可以根据需要更改此值。 它表示需要在磁盘上保留多少个文件集。

consistencyPolicy具有三个配置旋钮:

  • numberOfBackupsRequired :默认值为7。即使我们在deletePolicy保留了30个文件集,我们也只需要7个文件集即可通过一致性。 如果是每日备份,则意味着我们至少需要备份7天才能使文件集保持一致。
  • minimumFileSizeRequired :默认值为1。这意味着文件集中的每个文件必须至少为1个字节或更大。 这可以确保至少有东西在文件中。 您可以将其设置为更大,或将其设置为0以禁用该检查。
  • numberOfDaysOfBackupsRequired :默认值为7。这将检查文件集中的最后一个文件(按日期或修改时间降序排列)至少比7天前更新。

组合所有设置可确保:

  1. 文件集包含足够新的文件。
  2. 文件集的文件中至少写入了一些内容。
  3. 我们拥有一组跨一定时间的文件,并且该时间不超过或不影响删除策略。

如果任何一项检查失败,则文件集将失败。 如果文件集失败,则备份集也会失败,因此,全局状态也将失败。

一致性策略和删除策略的实现都扩展了相同的抽象类AbstractFileVisitor ,而后者又扩展了SimpleFileVisitor<Path> 。 此FileVisitor将循环备份集URI中的所有子目录两次,首先执行删除策略,然后执行一致性策略。

然后, AbstractFileVisitor将过滤与过滤器匹配的所有子目录中的所有文件,并将它们放置在地图结构中。

为了完成此过程,将循环映射结构,并根据策略规则删除和验证文件。

您是否对我们的实施感到好奇? 您想分叉并修改我们的代码吗? 在评论中大喊大叫,我们可以谈谈我们解决方案的开源。

改进措施

可以随时进行改进,这是我们头脑中的一些事情:

  • 在备份断开连接之前,在源上添加MD5校验和。 在我们的应用程序中检查那些MD5校验和,以确保我们的备份在时间上保持一致。
  • 在应用程序的内存中解析档案文件(.zip,.tar,.gz),遍历文件条目,看看是否到达档案文件的末尾; 这应该排除损坏的.zip文件。
  • 解析邮箱备份并遍历条目以查看存档是否未损坏。
  • 将数据库备份发送到基础结构,该结构检查是否可以还原数据库。
  • 添加了远程检查备份的功能(例如,通过SSH登录到远程服务器,并检查那里的备份是否也可用并保持一致),对于某些异地备份方案很有用。
  • 新增了通过API检查备份的功能(例如,查看第三方系统上托管的AWS备份或Proxmox备份的状态)。

翻译自: https://www.javacodegeeks.com/2018/05/monitoring-and-managing-your-backup-system.html

海域动态监视监测管理系统

海域动态监视监测管理系统_监视和管理备份系统相关推荐

  1. 能源消耗监测管理系统_能源消耗监测系统管理平台

    为了解决目前企业普遍存在由于应能结构不合理导致的能源大量浪费的情况,吉佳通达建立起企业能耗监测平台,根据能耗分析算法,帮助企业准确获取动态在线能源消耗参数的基础上合理调度.利用能源,把能源的浪费降到最 ...

  2. java监视器_监视和管理备份系统

    java监视器 上一次我们建立了一个强大的备份系统,现在我们将研究如何监视备份集. 我们需要验证是否正确清理了备份集(这称为删除策略),并且它们是一致的(称为一致性策略). 备份集可以包含多个文件集. ...

  3. 碳监测能源消耗监测管理系统_碳排放在线监测管理系统_碳管理平台

    什么是碳监测,为什么要开展碳监测? 碳监测是指通过综合观测.数值模拟.统计分析等手段,获取温室气体排放强度.环境中浓度.生态系统碳汇以及对生态系统影响等碳源汇状况及其变化趋势信息,以服务于应对气候变化 ...

  4. ic卡消费管理系统_智能食堂管理解决方案 智能刷卡消费

    智能食堂管理解决方案 智能刷卡消费 智能食堂管理解决方案是根据学校.企业.工厂等环境的各方面信息,设计的一套整体的学校一卡通消费管理系统,整个系统涵盖食堂.超市.线下饭卡自助充值.线上微信支付宝充值等 ...

  5. 商业综合体能耗在线监测管理系统_商场管理平台

    商业综合体如雨后春笋般在全国悄然兴起,因为商业综合体的增多,能耗也高了起来,所以需要智能能源管理系统来帮助企业管理能耗,将企业能耗进行集中化管理,提高能源综合利用率,降低能耗. 商业综合体存在哪些问题 ...

  6. 戴尔集群监控与管理系统_监控与管理

    戴尔集群监控与管理系统 本文是我们名为" EAI的Spring集成 "的学院课程的一部分. 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解 ...

  7. 开源 物联网平台管理系统_我们如何创建物联网系统来管理太阳能使用

    开源 物联网平台管理系统 If you have no idea about the development architecture and mechanical/electrical design ...

  8. 面料软件_面料管理系统_面料订单管理

    作为我国传统优势产业,纺织面料业为国民经济作出了巨大的贡献.然而步入21世纪的今天,经历几十年粗放式的发展,在转型升级与环保双重压力下,由追求"量"到重视"质" ...

  9. 纺织ERP系统_纺织管理系统_纺织订单管理

    深圳市指点科技有限公司成立于2011年6月,致力于为纺织行业提供专业纺织贸易ERP信息管理系统及一站式运营服务,助力中国纺织企业实现信息化.智能化发展,推动纺织企业智能化转型升级. 指点科技自成立以来 ...

最新文章

  1. 链接详解--多目标文件的链接
  2. TensorFlow数据归一化
  3. Java 客户端界面功能:停止当前操作
  4. [Qt教程] 第40篇 网络(十)WebKit初识
  5. python面向对象设计管理系统_python面向对象之单例设计模型
  6. linux 安装软件
  7. java中对象的生存期_深入理解Java虚拟机-判断对象是否存活算法与对象引用
  8. python代码太长_Python 太糟糕了?开发者总结了 8 大原因
  9. linux c 错误码大全及错误的捕获
  10. vs2019 发行说明_如何计算发行说明
  11. Amadeus Pro for Mac(多轨音频编辑器)
  12. 大数据应用于生活,目前主要应用在哪些领域?
  13. 谷歌金山词霸合作版下载
  14. TcaplusDB X 光与夜之恋,来谈一场高沉浸式的恋爱吧
  15. QT图形显示和处理1
  16. 直播六脉神剑,练好这几招才能行走江湖
  17. 文件系统模拟程序python_树莓派开发实战(第2版)
  18. 【报错】WebSocket connection to ‘ws://xxx.xxx.x.xxxx:8080/ws‘failed:
  19. ppt从第二页设置页码
  20. 计算机为什么无法睡眠,电脑一休眠就唤醒不了该怎么解决

热门文章

  1. CF1415E New Game Plus(贪心)
  2. P2714-四元组统计【数论,容斥】
  3. 欢乐纪中A组周六赛【2019.4.13】
  4. POJ2689-Prime Distance【质数,数论】
  5. P3321-Apple Tree【树状数组】
  6. 平衡树 - FHQ 学习笔记
  7. UVALive 8518 - Sum of xor sum
  8. HDU5322 - cdq分治FFT加速dp
  9. 为什么不应该重写service方法
  10. java io系列09之 FileDescriptor总结