unix中利用Find命令备份根文件系统
在Unix操作系统中有很多命令可以用来备份文件.但是Unix操作系统中根文件系统是一种比较特殊的文件.通常情况下对这类文件进行备份的话,要卸载其他文件系统.根文件系统是其他文件系统的祖宗,如果不卸载的话,会同时备份其他文件系统中的文件.但是如果先卸载其他文件系统再进行备份的话,那么就会很麻烦.为此在find命令中提供了一个很有用的参数,可以帮助我们实现这个功能. 一、根文件系统备份的重要性及备份的难点. 当系统发生崩溃时,虽然可以通过重新安装操作系统来恢复.但是这个工作量很大,需要重新安装每个外部设备.在Unix操作系统中,安装并配置每个外部设备的驱动程序是一件很麻烦的事情.如果系统工程师能够在平时的工作中备份好根文件系统中的文件,那么在遇到系统故障时,即使需要重新安装操作系统,那么也只需要安装Unix操作系统的最小集合.然后把这些根文件系统中的配置文件恢复过去,那么就省去了配置外部设备的麻烦. 但是在备份根文件系统的时候,其地位的特殊性会遇到不少的麻烦.如无论在什么时候把外部设备添加到Unix操作系统中,或者无论什么时候将外部设备从系统中卸载掉,根文件系统中的配置文件都要发生变化.也就是说,根文件系统中的配置文件在不断变化的.为此操作系统要能够鉴别那些变化了的配置文件,然后有选择的进行复制.否则的话,就会增加备份的工作量.其次根文件系统是其他文件系统的祖宗,为此对根文件系统进行备份的话,系统会同时对其他文件系统中的内容进行备份.这无疑不是我们所希望达到的目的. 二、可选项mount的作用. 在find命令中有一个-mount可选项.如果采用find / -mount命令的话,操作系统不会在加载点查找其他文件系统的文件.也就是说,利用这个可选项可以只对根文件系统进行备份,而不需要卸载其他文件系统,也不会访问他们.即使用了这个可选项的find命令,其搜索的路径只在根文件系统下. 为此对根文件系统常用的备份策略是,当系统已经得到完整的、正确的配置之后,系统工程师立刻使用-mount可选项对 根文件系统进行全面的备份.然后每当根文件系统下的配置文件发生变化后,再对他们进行增量备份即可.可见通过-mount选项可以解决根文件系统备份过程中遇到的第一个问题. 三、辨别文件是否发生变化. 在根文件备份中要实现增量备份,操作系统就要判断那些文件在上次备份之后更新了.为了达到这个目的,Find命令提供了两种处理机制,分别采用-newer参数与-mtime参数. 1、 利用newer可选项来实现. 利用newer可选项来实现这个需求的话,比较麻烦一点,但是相对来说却比较科学一点.要利用这个可选项来实现这个命令的话,主要分为三个步骤. 第一步:建立一个零字节的对比文件.系统工程师要利用VI或者其他工具创建一个零字节的文件.这个文件到底有什么用途,笔者下面马上会谈到.在使用newer可选项来判断哪些文件在上次备份后进行了修改,这个零字节的文件在其中起动了关键的作用.其实我们用到的并不是这个文件内容的本身,而是用到了这个文件中的时间属性. 第二步:利用touch命令来修改时间属性.众所周知,在Unix操作系统中的文件有很多属性,如创建时间、修改时间等等.在很多脚本程序中,需要用到这些文件属性.而此时我们就需要用到这些文件属性中的修改时间属性.利用touch命令可以修改文件的事件属性.如我们利用touch 文件名字,可以把系统的当前时间赋值给文件的修改时间截. 第三步:利用-newer参数进行比较.我们利用newer 参数来寻找上次备份后所改变的文件主要思路就是备份完成之后,把上面建立的这个零字节文件的修改时间截改为备份完之后的时间.然后在下次备份的时候,再利用-newer可选项,把查找到的文件的修改时间与这个零字节文件的修改时间(上次备份后的事 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |