最近一次查看客户的服务器,发现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