找回密码
 立即注册

QQ登录

只需一步,快速开始

联合logrotate来实现tomcat日记分割,当前脚本重要办理的题目是,多用户下多tomcat情况下日记压缩及归档的题目。
由于是第一个版本,大概思绪照旧不太科学。假如你有更好的发起及办理方案请留言。
pp344YCpLPjw34hI.jpg
脚本内容
cat shengbaolog.sh #!/bin/bash#Version=0.1#Ownr:FuShengbao#Blog:shengbao.org#Mail:admin@shengbao.org#Tel:1393 #change log#20180426:Initial releaseusername="shengbao01"for userhome in $username;do if [ -d /home/$userhome/log_backup ];then  echo "/home/$userhome/log_backup ok!" else  mkdir /home/$userhome/log_backup fidonefunction catalina () {dfs=`df |awk 'NR==2''{print $4}'`for i in $username;do bssc=`ls /home/$i|grep tomcat` for ii in $bssc;do if [ ! -f /etc/custom/log/tomcatlog_catalina_$i$ii ];then cat > /etc/custom/log/tomcatlog_catalina_$i$ii <<EOF/home/$i/$ii/logs/catalina.out{ rotate 180 copytruncate noolddir nomissingok notifempty compress dateext}EOF fi if [ -f /home/$i/$ii/logs/catalina.out ];then dus=`du -s /home/$i/$ii/logs/catalina.out|awk -F ' ' '{print $1}'` echo $dus if [ "$dfs" -lt "$dus" ];then echo "One or more drives has insufficient disk space" sleep 2 exit 1 else echo "runing logrote" /usr/sbin/logrotate -vf /etc/custom/log/tomcatlog_catalina_$i$ii fi fi donedone}function log_file () {for ia in $username;do bssca=`ls /home/$ia|grep tomcat` for iia in $bssca;do if [ ! -f /etc/custom/log/tomcatlog_file_$ia$iia ];then cat > /etc/custom/log/tomcatlog_file_$ia$iia <<EOF/home/$ia/log_backup/$iia/*.txt{ nocreate rotate 180 noolddir missingok compress dateext}/home/$ia/log_backup/$iia/*.log{ nocreate rotate 180 noolddir missingok compress dateext}/home/$ia/log_backup/$iia/*.*.log{ nocreate rotate 180 noolddir missingok compress dateext}/home/$ia/log_backup/$iia/*..*.txt{ nocreate rotate 180 noolddir missingok compress dateext}EOF fi if [ -d /home/$ia/log_backup/$iia ];then /usr/bin/find /home/$ia/$iia/logs/ -type f -mtime +7 -exec mv {} /home/$ia/log_backup/$iia \; echo "run tomcatlog_file" /usr/sbin/logrotate -vf /etc/custom/log/tomcatlog_file_$ia$iia else mkdir /home/$ia/log_backup/$iia  /usr/bin/find /home/$ia/$iia/logs/ -type f -mtime +7 -exec mv {} /home/$ia/log_backup/$iia \; /usr/sbin/logrotate -vf /etc/custom/log/tomcatlog_file_$ia$iia fi donedone}if [ ! -d /etc/custom/log ];then mkdir -p /etc/custom/log catalina log_fileelse catalina log_filefi交换
利用logrotate是可以实现多用户压缩到指定目次,不如许做我考录的
1,是必要写许多目次及路径。每一个用户大概目次都必要单独写。
2,实行时间多在3点左右,如许导致日记分割的日期不是那么完善。
假如,你不必要归档,只必要分割catalina.out而且目次有规律可以这么做。
#cat /etc/custom/log/tomcatlog /home/shengbao0*/tomcat*/logs/catalina.out{ rotate 180 copytruncate noolddir  nomissingok notifempty compress dateext}添加筹划使命
55 23 * * * /usr/sbin/logrotate -vf /etc/custom/log/tomcatlog
泉源:付生保个人博客
分享至 : QQ空间
收藏

1 个回复

倒序浏览
我现在团队6个人,目前安排4个在跑引流脚本,2个人负责给我变现
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册