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选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。

浙公网安备 33010602011771号