美文网首页
linux 自动删除n天前日志

linux 自动删除n天前日志

作者: 抄无止境 | 来源:发表于2022-03-07 14:46 被阅读0次
1、创建shell:
touch /opt/soft/bin/auto-del-30-days-ago-log.sh

chmod +x auto-del-30-days-ago-log.sh

新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限

2、编辑shell脚本:
#!/bin/sh

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
3、定时执行

输入linux命令 #crontab -e

10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1

保存退出;

说明

将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:

  • find:linux的查找命令,用户查找指定条件的文件;
  • /opt/soft/log/:想要进行清理的任意目录;
  • -mtime:标准语句写法;
  • +30:查找30天前的文件,这里用数字代表天数;
  • ".log":希望查找的数据类型,".jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;
  • -exec:固定写法;
  • rm -rf:强制删除文件,包括目录;
  • {} ; :固定写法,一对大括号+空格++;
  • cron文件语法 10 0 * * * 定时删除:分 小时 日 月 星期
  • crontab命令选项 1.-u指定一个用户; 2.-l列出某个用户的任务计划; 3.-r删除某个用户的任务(不添加用户即删除所有的任务); 4.-e编辑某个用户的任务;

linux不停服务删除log文件,linux 自动删除n天前日志

相关文章

网友评论

      本文标题:linux 自动删除n天前日志

      本文链接:https://www.haomeiwen.com/subject/hjhnrrtx.html