这里是文章模块栏目内容页
find 查找文件并批量处理 定时删除大文件

 find命令详细用法:

 find . 这个点是当前目录,使用前一定要切换到指定目录,否则在整个系统查找很危险;

 这里 一定要先cd 到 要处理的目录。

 1、查找当前目录下的大于10M文件

 find . -type f -size +10M 

 2、删除find查找到的匹配文件(命令及其危险,慎用)

 find  . -type f -size +10M -delete

 或者  find . -type f -size +10M -exec 'rm' {} \;

 3、删除.part 上传零时文件

 find . -name "*.part" -exec 'rm' {} \;

 4、查找uploads临时文件

 find . -path "*uploads/*" 

 5、查找 用户uploads 里面 10天前的零时文件 

 find  .  -path "*uploads/*" -mtime +10

 6、删除用户uploads 里面 10天前的零时文件 

 find  .  -path "*uploads/*" -mtime +10 -exec 'rm' -R {} \;


建立定时任务执行sh文件;

新建cron_delete_data.sh文件:

#!/bin/bash
find /home/www/data -type f -size +10M -exec 'rm' {} \;
#delte part file
find /home/www/data  -name "*.part"  -mtime +2 -exec 'rm' {} \;


计划任务:

添加定时器任务(指定-u参数,方便管理):

 crontab -e -u  www

复制内容添加并保存 按 wq退出;

10 7,23 * * * /home/xfplay_cloud/xfcloud/init.d/cron_delete_data.sh

这个任务意思是:每天的7:10,和23:10 执行 cron_delete_data.sh 任务

保存后,启动定时器:

  systemctl restart crond.service


查看定时器运行情况:

  systemctl status crond.service

crontab -u www -l


查看定时器日志:

tail -f -n 200 /var/log/cron