linux清除log日志

岁酱吖の 提交于 2020-03-14 14:40:54

1.删除文件命令:find  对应目录  命令选项

    实例命令 

    find /export/Logs/ -type f -name "*log*" -mtime +3 -exec rm -rf {} \;

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

         find:linux的查找命令,用户查找指定条件的文件;

         /export/Logs/:想要进行清理的任意目录;

         -type f代表文件 d代表目录

         -mtime:标准语句写法;+30:查找30天前的文件,这里用数字代表天数;

         "*log*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;

         -exec:固定写法;

         rm -rf:强制删除文件,包括目录;

         {} \; :固定写法,一对大括号+空格+\+;

         -size 查找符合大小的文件;

2.计划任务:

    每次手动执行语句太麻烦,可以将语句写到一个可执行shell脚本文件中,再设置crontab调度执行自动清理相关文件。 

   创建shell脚本 vi auto-del-log.sh

    #!/bin/bash

    find /export/Logs/ -type f -name "*log*" -mtime +3 -exec rm -rf {} \;

    find /export/Logs/ -type f -name "*log*" -size +100M -exec rm -rf {} \;

    添加可执行权限  chmod +x auto-del-log.sh

3 设置定时任务

   crontab -e

    0 1 * * *  auto-del-log.sh   每天凌晨一点执行auto-del-log.sh脚本

    文件/etc/crontab中每行任务的描述格式如下: 

         minute hour day month dayofweek command

         minute - 从0到59的整数 

         hour - 从0到23的整数 

         day - 从1到31的整数 (必须是指定月份的有效日期)

         month - 从1到12的整数 (或如Jan或Feb简写的月份)

         dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

         command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令) 

          * 代表任意值 */5 代表没五个单位时间执行一次
————————————————
版权声明:本文为CSDN博主「Roda的博客」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42343424/article/details/80510004

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!