最近一次查看客户的服务器,发现tomcat的日志达到了100多兆,由于服务器系统是装在虚拟机上,且服务器虚拟机上装了几个系统,所以空间有限。为了解决tomcat日志文件过大的问题,写了以下脚本来定时清理tomcat日志文件的大小:
#!/bin/bash
#清理tomcat日志的脚本
#日志大小限制设置( 1M 字节),超出即清理
LOG_FILE_SIZE=1024
#定义日志文件位置
logs=(/usr/local/tomcat/logs/catalina.out)
for ff in "${logs[@]}";
do
#文件大小
size=0
if [ -f $ff ]
then
#取得日志文件大小值
size=`ls -l $ff |awk '{print $5}'`
fi
#进行判断
if [ "$size"0 -gt "$LOG_FILE_SIZE"0 ]
then
echo 开始清理: "$ff" , 大小= "$size"
true > $ff
fi
done
#清理完成
echo 清理日志完成!
再将脚本放到定时任务中执行:
echo ” 30 * * * * root /bin/clear_log.sh”>>/etc/crontab
最后,重启Linux的定时服务:
service crond stop
service crond start