主要是利用find命令的mtime参数n[n为整数],表示最后修改时间在n*24小时之前。
n要带符号。
可实际上 +0 的含义并不是表示0小时之前,而是表示24小时之前,跟 n=1的含义一样。
值得一提的是还有两个类似的参数 atime和ctime。
atime表示文件的最后访问时间,ctime表示文件的最后状态修改时间.
这里将完整的脚本贴出来:
1#!/bin/bash
2#删除tmp目录下符合 *.htm模式的文件,不进行递归。
3ARCHDIR=/tmp/
4ARCHDAY=+0
5 find $ARCHDIR -mtime $ARCHDAY -a -type f -a -name "*.htm" -maxdepth 1 -exec ls -l {} \;
6 find $ARCHDIR -mtime $ARCHDAY -a -type f -a -name "*.htm" -maxdepth 1 -exec /bin/rm {} \;