welcome to xlongwei.com

欢迎大家一起学习、交流、分享


QQ:9167702333 邮箱:admin@xlongwei.com

clear_files.sh linux日志文件清理脚本


分类 Linux   关键字 分享   标签 linux   tomcat   发布 hongwei  1442825240558
注意 转载须保留原文链接,译文链接,作者译者等信息。  
之前有clear_logs.sh可以清理N天之前的日志文件,但还有些日志文件是一直都会写入的,例如tomcat/logs/catalina.out等,那么clear_files.sh就可以清理这类文件,只保留文件最后的N行日志。

lines=3000
temp=/tmp/tmp.txt

log_files=(
/var/log/clear_logs.log
/var/log/ourjs/newspaper.log /soft/tomcat-ite/logs/catalina.out ) for ((i=0; i<${#log_files[@]}; ++i)); do log_file=${log_files[i]} #echo $log_file log_lines=`cat $log_file|wc -l` #echo $log_lines if [ $log_lines -gt $lines ]; then tail -n $lines $log_file > $temp #使用$temp文件中转一下 cat $temp > $log_file echo "$log_file lines truncated" #cat /dev/null > $temp #rm -f $temp else echo "$log_file lines less than $lines" fi done

然后再加一个crontab任务即可
crontab -e
10 23 * * * sh /soft/shells/clear_files.sh >> /var/log/clear_logs.log