Linux如何定时清空日志内容和删除日志文件
Linux如何定时清空日志内容和删除日志文件 更新时间:2023年12月12日 16:08:11 作者:wd520521 这篇文章主要介绍了Linux如何定时清空日志内容和删除日志文件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教 目录 一、shell脚本 1、创建脚本并赋权 2、编辑脚本 3、命令说明 二、crontab计划任务 总结 一、shell脚本 1、创建脚本并赋权 touch /home/mppay/auto-truncate-log.sh chmod u+x auto-truncate-log.sh 2、编辑脚本 vi auto-truncate-log.sh (1)【清空日志文件内容】脚本如下: #!/bin/sh #可填写多个路径 workdir=("/home/mppay/apache-tomcat-7.0.73/logs" "/home/mppay/logs") for wdir in ${workdir[@]}; do echo -e "filepath is ${wdir}" # .log 文件和包含 log 标记的 .txt文件,以及 catalina.out 文件 find $wdir -regex "^.*\(\.log\|log.*\.txt\|catalina.out\)$" -type f -print -exec truncate -s 0 {} \; if [ $? -eq 0 ]; then echo -e `date`" truncate logs successfully! \n" else echo -e `date`" truncate logs failed! \n" fi done (2)【删除日志文件】脚本如下: #!/bin/sh #可填写多个路径 workdir=("/home/mppay/apache-tomcat-7.0.73/logs" "/home/mppay/logs") for wdir in ${workdir[@]}; do echo -e "filepath is ${wdir}" # .log 文件和包含 log 标记的 .txt文件,以及 catalina.out 文件 find $wdir -regex "^.*\(\.log\|log.*\.txt\|catalina.out\)$" -and -mtime +5 -type f -exec rm -rf {}...