本发明专利技术包括一种Linux系统备份和修复方法,该方法是基于rsync命令进行滚动弱校验和强校验,可在很短时间内计算出当前系统文件与备份文件的不同之处,使系统在前次利用备份方法进行备份之后,再次进行备份时,只需要将当前系统在上次备份之后用户新增或修改的文件增加到原备份文件中;而在当前系统出现故障需要使用修复方法对目标系统进行修复时,只需对目标系统中相对于备份文件已丢失或修改的文件进行修复。
【技术实现步骤摘要】
本专利技术涉及Linux系统安全领域,尤指。技术背景网络病毒、自然灾害或用户的不正确操作都有可能引起程序异常、数据丢失,甚至系统无法启动。关键数据的丢失很大程度上会产生严重影响,有时会造成无法挽回的损失。 系统备份修复可以说是系统可用性的最后一道防线,其目的在于系统崩溃时能够快速的修复系统和用户数据。目前,Linux系统常见的备份修复方案有两种一种方案是将用户运行的系统备份为一个压缩文件,当系统无法启动时,借助于BIOS 引导的修复程序解压缩备份文件重新安装系统;该方案耗时长且用户系统在备份文件以后新增的系统文件和数据将丢失。此外,系统运行时,如果利用解压缩文件方式修复系统,正在运行进程的系统文件会被覆盖,这将导致整个系统崩溃。另一种方案是基于rsync命令实现远程备份修复;该方案的系统备份修复需要远程服务器,备份修复时间依赖于连接本机和服务器的网络状态,这种修复方式需要除客户机外,需要新增一台服务器用于备份功能。因此,现有的压缩备份修复方法会丢失在备份文件以后新增的系统文件且系统运行时无法实现修复,而基于rsync命令实现远程备份修复方法需要额外配置服务器,均存在不足,本专利技术人认为需要提供一种方案,可以实现不依赖于服务器的而对运行的目标系统快速备份和修复,为用户提供“安全可控”的Linux系统。
技术实现思路
为了实现上述目的,本专利技术提供一种Linux系统备份方法,该方法是基于rsync命令,该命令采用滚动弱校验和强校验,首先计算出当前系统文件与备份文件的不同之处,在系统前次利用备份方法进行备份之后再次进行备份时,只需将当前系统在前次备份之后用户新增或修改的文件增加到前次备份文件中。所述的备份方法为系统克隆,即将系统中的文件利用rsync命令完全COPY到磁盘其它分区或移动存储设备。上述方法的实现步骤如下(1)、将备份文件分成大小为N的不重合的若干数据块(文件末尾部分分块大小可能不足N),并由rsync命令对这些数据块进行两种不同方式的校验32位的滚动弱校验、128 位的强校验;(2)、将上述每个数据块的弱校验、强校验结果发送给当前系统文件;(3)、由rsync命令对当前系统文件中每个长度为N的数据块进行弱校验并与从备份文件收到的弱校验值进行匹配,若相同再进行强校验匹配,找出所有能相匹配的部分,则剩下的为不能匹配的部分,从而能快速找出当前系统文件与备份文件之间的区别之处;(4)、通过上述计算,将系统文件中存在而备份文件中没有的文件,复制到备份文件,实现增量系统文件克隆。这里需要说明的是,完全COPY是指复制过程保留系统中文件的权限属性和目录结构。本专利技术还提供了一种Linux系统修复方法,该方法是基于rsync命令,该命令采用滚动弱校验和强校验,首先计算出系统文件与备份文件的不同之处,在目标系统出现故障需要进行修复时,只需对目标系统中相对于备份文件已丢失或修改的文件进行修复。所述修复方法为利用镜像文件进行修复。系统在正常情况下,用户需用Linux系统的mksquashfs命令(即镜像备份命令)将他所使用的系统备份为一个squashfs镜像文件到磁盘的一个分区或移动存储设备。在进行修复之前需要使用到这个镜像文件。上述方法的实现步骤如下(1)、将系统文件分成大小为N的不重合的若干数据块(文件末尾部分分块大小可能不足N),并由rsync命令对这些数据块进行两种不同方式的校验32位的滚动弱校验、128 位的强校验;(2)、将上述每个数据块的弱校验、强校验结果发送给备份文件;(3)、由rsync命令对备份文件中每个长度为N的数据块进行弱校验并与从系统文件收到的弱校验值进行匹配,若相同再进行强校验匹配,找出所有能相匹配的部分,则剩下的为不能匹配的部分,从而能快速找出系统文件与备份文件之间的区别之处;(4)、通过上述计算,将备份文件中存在而系统文件中丢失或修改的文件发送到系统文件,系统文件接收到文件从而完成系统的修复。由于弱校验的滚动特性可以快速地筛选出需要拷贝的数据块,该算法的运算量主要集中在备份文件上。借此,可以提高Linux的系统的备份和修复效率。使用本专利技术的镜像修复方法对系统进行修复时,在备份文件之后用户新增的系统文件和用户数据依然能够保存,仅对系统的丢失或修改的文件进行修复,不仅可以解决现有压缩文件修复法无法保留新增文件的缺点,更能提高系统的修复效率。附图说明图1为本专利技术备份修复方法的流程图。图2为本专利技术系统克隆的流程图。图3为本专利技术镜像文件备份流程图。图4为本专利技术镜像修复流程图。图5为本专利技术系统恢复流程图。具体实施方式为了更好地理解本专利技术,现参照说明书附图作以下详细地说明。参照图1,为本专利技术备份修复方法的基本流程图。本专利技术主要包括两个基本的方案,系统克隆和镜像备份修复。以下分别进行说明。本专利技术提供一种Linux系统备份方法,该方法是基于rsync命令,该命令采用滚动弱校验和强校验,可在很短时间内按照拷贝算法计算出当前系统文件与备份文件的不同之处,使系统在前次利用备份方法进行备份之后,再次进行备份时,只需要将上次备份之后用户新增或修改的文件增加到原备份文件中。备份方法包括目前常用的压缩文件法,镜像文件备份法以及本专利技术提供的系统克隆法。现对系统克隆法进行说明图2为根据本专利技术进行系统克隆时的流程图。系统克隆是备份系统的一种方案。目标设备应该是本地磁盘其它分区或移动存储设备,如果本地磁盘没有其它分区,需要用户手动创建分区。系统克隆开始前,可以事先估算当前系统的大小,并与目标设备的空间比较, 自动判断目标设备空间是否满足系统克隆的需求。本专利技术的系统克隆用到拷贝算法,该拷贝算法是指用到rsync命令找出将用户系统备份到磁盘分区或移动存储设备的备份文件与需要备份的系统文件之间的差别,因此,前次利用备份方法进行备份之后,如果每次需要备份系统到该目标设备时,只需要复制上次备份后新增的系统文件或用户数据至原备份文件中。拷贝算法的目的是找出当前系统文件与备份文件的差别,本专利技术系统克隆方法具体实现步骤如下1)、将备份文件文件分成大小为N的不重合的若干数据块(文件末尾部分分块大小可能不足N),并由rsync命令对这些数据块进行两种不同方式的校验32位的滚动弱校验、 1 位的MD5强校验;2)、将上述每个数据块的弱校验、强校验结果发送给当前系统文件;3)、由rsync命令对当前系统文件中每个长度为N的数据块进行弱校验并与从系统文件收到的弱校验值进行匹配,若相同再进行强校验匹配,找出所有能相匹配的部分,则剩下的为不能匹配的部分,从而能快速找出当前系统文件与备份文件之间的区别之处;4)、通过上述计算,将系统文件中存在而备份文件中没有的文件,复制到备份文件,实现增量文件克隆。通过上述方法备份的时候,只将增加或改变的部分增加到备份文件中,从而避免大量相同文件的重复复制,提高备份的速度。当系统崩溃时,可直接启动已克隆的系统,达到系统快速修复的目的。因此系统克隆方法可以一步实现系统备份和镜像修复/系统恢复两个步骤才能完成的类似功能,因此系统克隆实际上是一种系统备份及修复方法。上述克隆,就是指分区到分区(硬盘到硬盘)的存储数据完全拷贝,本文中是对 Linux系统的拷贝,所以称为“系统克隆”。本专利技术还提供了一种Linux系统修复方法,本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:史安生,何曌君,许国昌,徐斌,
申请(专利权)人:中标软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。