删掉shell
find/opt/soft/log/-mtime+30-name"*.log"-execrm-rf{};
说明:
将/opt/soft/log/目录下所有30天前带”.log”的文件删掉。具体参数说明如下:
/opt/soft/log/:想要进行清除的任意目录;
-mtime:标准句子写法;
+30:查找30天前的文件,这儿用数字代表天数;
-name:固定写法;
“.log”:希望查找的数据类型,”.jpg”表示查找扩充名为jpg的所有文件linux at 定时执行,”*”表示查找所有文件,这个可以灵活运用,举一反三;
-exec:固定写法;
rm-rf:强制删掉文件,包括目录;
{};:固定写法,一对大括弧+空格++;
定时任务
新建文件shell文件auto-del-30-day-log.sh在home/test/bin目录下
touchauto-del-30-day-log.sh
viauto-del-30-day-log.sh
把
find/opt/soft/log/-mtime+30-name"*.log"-execrm-rf{};
写进去
crontab-e这个指令i,步入shell脚本编辑状态
100***/home/test/bin/auto-del-30-day-log.sh>/dev/null2>&1
“/dev/null2>&1”表示先将标准输出重定向到/dev/nulllinux at 定时执行,之后将标准错误重定向到标准输出,因为标准输出早已重定向到了/dev/null,因而标准错误也会重定向到/dev/null,这样日志输出问题就解决了。
100***表示每晚0点10分执行这个删掉脚本
分小时日月礼拜
0-590-231-311-120-6
特殊符号:*范围的所有数字,/每,-范围linux手机软件,‘,’集合
每隔30分钟红旗linux,每晚白天的深夜3点-5点:/303-5**
每30分钟执行一次任务/30***
使用crontab-l查看当前用户下正在执行的定时任务
crontab-l
最最重要的一点,假如全部可以并且就是未见执行,要考虑当前用户是否有操作shell脚本的权限
赋权
chmod777auto-del-30-day-log.sh