Linux命令删除指定日期的文件
1.需求
按时间删除 hive 产生的日志
2.查看 /var/log/hive目录
cd /var/log/hive
ll
3.使用find命令按时间筛选
find 参数说明
-amin -n: 最后一次访问发生在 n分钟 之内
-amin n: 最后一次访问发生在距离当前时间 n分钟 至 (n+1)分钟
-amin +n: 最后一次访问发生在 (n+1)分钟 之外
-atime -n: 最后一次访问发生在 n天 之内
-atime n: 最后一次访问发生在 n天 至 (n+1)天
-atime +n: 最后一次访问发生在 (n+1)天 之外
-cmin -n: 最后一次文件状态修改发生在 n分钟 之内
-cmin n: 最后一次文件状态修改发生在 n分钟 至 (n+1)分钟
-cmin +n: 最后一次文件状态修改发生在 (n+1)分钟 之外
-ctime -n: 最后一次文件状态修改发生在 n天 之内
-ctime n: 最后一次文件状态修改发生在 n天 至 (n+1) 天
-ctime +n: 最后一次文件状态修改发生在 (n+1)天 之外
-mmin -n: 最后一次文件内容修改发生在 n分钟 之内
-mmin n: 最后一次文件内容修改发生在 n分钟 至 (n+1)分钟
-mmin +n: 最后一次文件内容修改发生在 (n+1)分钟 之外
-mtime -n: 最后一次文件内容修改发生在 n天 之内
-mtime n: 最后一次文件内容修改发生在 n天 至 (n+1)天
-mtime +n: 最后一次文件内容修改发生在 (n+1)天 之外
#查找文件内容修改发生在2天之内的文件
find /var/log/hive/ -name "*" -mtime -2
4.执行删除
#删除5天前的文件
# -exec参数,如果查找有返回,可在exec参数后加上需要操作的命令,查找结果用{}来代替
find /var/log/hive/ -name "*" -mtime +5 -exec rm -rfv {} \;