Linx 定时删除备份数据
时间:2010-12-23 来源:无痕2010
#!/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选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。
相关阅读 更多 +