电脑技术学习

unix中利用Find命令备份根文件系统

dn001

  为此对根文件系统常用的备份策略是,当系统已经得到完整的、正确的配置之后,系统工程师立刻使用-mount可选项对 根文件系统进行全面的备份。然后每当根文件系统下的配置文件发生变化后,再对他们进行增量备份即可。可见通过-mount选项可以解决根文件系统备份过程中遇到的第一个问题。

  三、辨别文件是否发生变化。

  在根文件备份中要实现增量备份,操作系统就必须首先要判断那些文件在上次备份之后更新了。为了达到这个目的,Find命令提供了两种处理机制,分别采用-newer参数与-mtime参数。

  1、 利用newer可选项来实现。

  利用newer可选项来实现这个需求的话,比较麻烦一点,但是相对来说却比较科学一点。要利用这个可选项来实现这个命令的话,主要分为三个步骤。

  第一步:建立一个零字节的对比文件。系统工程师首先要利用VI或者其他工具创建一个零字节的文件。这个文件到底有什么用途,笔者下面马上会谈到。在使用newer可选项来判断哪些文件在上次备份后进行了修改,这个零字节的文件在其中起动了关键的作用。其实我们用到的并不是这个文件内容的本身,而是用到了这个文件中的时间属性。

  第二步:利用touch命令来修改时间属性。众所周知,在Unix操作系统中的文件有很多属性,如创建时间、修改时间等等。在很多脚本程序中,需要用到这些文件属性。而此时我们就需要用到这些文件属性中的修改时间属性。利用touch命令可以修改文件的事件属性。如我们利用touch 文件名字,可以把系统的当前时间赋值给文件的修改时间截。

  第三步:利用-newer参数进行比较。我们利用newer 参数来寻找上次备份后所改变的文件主要思路就是备份完成之后,把上面建立的这个零字节文件的修改时间截改为备份完之后的时间。然后在下次备份的时候,再利用-newer可选项,把查找到的文件的修改时间与这个零字节文件的修改时间(上次备份后的事件)属性来进行比较。此时find命令只会把那些比这个时间更新的文件查找出来并进行备份。为此find命令加上touch命令,然后再结合-newer可选项就可以把上次备份后更新了的文件找出来。所以在书写脚本程序的时候,需要把find命令写在前面。备份完成所需要的文件之后才能够利用touch命令来修改零字节文件的时间属性。

标签: