电脑技术学习

Unix系统下Find命令的三个高级应用

dn001

  2、重命名文件。

  需要备份的文件找到之后,接下去要做的就是利用cp命令把这些文件复制到其他目录中去。但是这里还需要做的一件事情是在复制过去后需要把文件进行重命名,即在原来文件的后面加上.backup,以提醒用户这些是备份文件,不能够删除或者修改。要实现这个功能的话,就需要用到文件名的占位符号。如果利用cp命令复制文件后同时批量更改文件的名字,只需要使用 cp {} {}.backup即可。这里的{}符号就是文件名的占位符号。cp {} {}.backup这个命令的功能就是先把文件复制到一个特定的目录中,然后在对复制过去的每个文件进行重命名,后面都依次加上.backup内容。

  为此要实现上面文件备份的需要,只需要使用命令

  find /home/oracle –mtime 1 –exec cp {} /backup/{}.backup ;即可。

  执行这个命令后,系统会在用户主目录下寻找所有修改时间少于1天的文件,并把找到的文件复制到/backup目录下。并在每一个原始文件后面增加一个扩展名.backup。最后的;是一个固定格式必须要有。然后系统工程师只需要把这个命令加入到cron中,让操作系统在每天中午或者其他空闲的时间周期性执行这个命令即可。如此的话,操作系统就会自动对用户的文件进行备份,以防止文件意外损坏或者修改所造成的损失。

  另外需要注意的是,在Unix操作系统中find命令只可以找到最近一天修改的文件。而在Linux操作系统中,还有mmin参数,这个参数是以分钟为单位,如可以找到那些最近4个小时或者1个小时之内修改过的文件,从而提高备份的频率。为此系统工程师可以根据用户的需要来调整文件备份的频率。不过笔者认为,一般情况下文件备份一天一次即可。

  二、把找到的文件清单保存到文件中。

标签: