电脑技术学习

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

dn001

  2、 利用mtime可选项来实现。

  其实在Unix操作系统的Find命令中,本身就带有一个可选项-mtime。这个选项就是指在最近某个时段内修改过的文件。在Find这个可选项之后,系统会比较系统的修改时间与当前的系统时间。把这个时间差额与mtime可选项指定的时间差额进行比较。如mtime 1就表示把最近一天(24小时)内更改过的文件全部查找出来。这也可以达到增量备份的目的,只是其可能不怎么科学。如可能由于安装了某个重要的外部设备之后,系统工程师手工执行了备份脚本。而让系统自动进行备份的时候,其查找配置文件的时间参数是最近一天,而不是从上次备份之后,故就会出现重复备份的时候。不过通常情况下,这不会影响到备份的效率。为此如果系统工程师不了解NEWER与TOUCH应用的话,那么也可以利用这mtime可选项来完成这个需求。他们是通用的。

  但是如果备份的数据比较大,如一些大型应用系统的日志文件,则最好采用第一种方式来查找需要备份的文件。因为此时重复备份几个文件可能会延长备份的时间。不过如果只是备份Unix操作系统的配置文件,这两种方法都可以使用;而且其备份时间基本上相同。笔者是比较偏向于采用第一种方法的。其实只要掌握其实现的原理,在写脚本的时候才用这第一种方式也并没有多大的难度。

  四、显示备份文件的列表。

  有时候系统工程师希望每次备份完成之后操作系统都能够把备份文件的名字保存在一个文件中。如此当系统工程师向恢复某个配置文件的时候,他就可以查看这些文件,以确定这个文件最近的备份时间以及备份的地点。另外为了迅速定位这些文件,系统工程师还希望这些保存备份文件信息的文件名字能够以备份的日期命名。为了实现这个需求,笔者建议大家可以使用下面这个命令来实现。

  find / -mount –mtine 1 –printf | cpio –ov >/backup 2>backuplist_’date+%d%b%y’。在这个命令中,-ov可选项中的v表示显示每个被备份的文件。其实-ov是两个可选项,分别为-o与-v。在Unix操作系统中,如果一个命令中带有多个可选项的话,可以把他们合并在一起写,以节省书写的数量。为此可以把以上两个可选项写为-ov。而backuplist_’date+%d%b%y’这个文件名字中笔者利用了一些参数,让操作系统自动把备份文件的时间信息放入到文件名中。如此的话系统工程师一看文件名字就知道在某个时候备份了哪些文件。这个文件列表会每次备份时都生成一个文件,时间久了可能会有很多个文件。为此笔者有时候会把这个命名规则改为backuplist_’date+%d’。如此的话,最多就只有31个文件。操作系统会每个月循环一次,把旧的文件覆盖掉。不过这个要慎用。如果系统工程师不需要以前的备份文件列表的话,那么可以采用这个命名规则。而且系统工程师还可以缩短这个循环周期,如文件名字中的的时间信息为“星期几。那么每隔7天操作系统就会覆盖原有的文件。但是对于配置文件来说,有时候几个月没有更改也是很正常的事情。为此对于配置文件的备份,则其需要保留所有的备份信息。此时就必须在文件名字中加入年月日等详细的信息,以防止文件被覆盖。

标签: