Linx 定时删除备份数据

使用Find 定时删除备份数据

#!/bin/bash
ARCHDIR=/data/click/data/
RSYNC=/data/click/rsync/*.*
ARCHDAY=+60
#find $ARCHDIR -name "*.php" -mtime $ARCHDAY -a -exec ls -l {} \;
find $ARCHDIR -name "*.txt" -mtime $ARCHDAY -a -exec /bin/rm -f {} \;
rm -f $RSYNC

注意:结尾必须为{} \;     括号和反斜杠之间有空格,否则会报错:“find: 遗漏“-exec”的参数”


原理主要是利用find命令的mtime参数n[n为整数],表示最后修改时间在n*24小时之前。
 n要带符号。

+0 的含义并不是表示0小时之前,而是表示24小时之前,跟 n=1的含义一样。

还有两个类似的参数 atime和ctime。
atime表示文件的最后访问时间,ctime表示文件的最后状态修改时间.
<strong>即:</strong>
-amin n
查找系统中最后N分钟访问的文件
-atime n
查找系统中最后n*24小时访问的文件
-cmin n
查找系统中最后N分钟被改变状态的文件
-ctime n
查找系统中最后n*24小时被改变状态的文件
-mtime n
查找系统中最后n*24小时被修改的文件

-exec rm {} \;   表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。

posted @ 2010-12-23 14:30  无痕2010  阅读(263)  评论(0)    收藏  举报