侧边栏壁纸
博主头像
平凡的运维之路博主等级

行动起来,活在当下

  • 累计撰写 54 篇文章
  • 累计创建 27 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

tomcat_无痕分割catalina.out日志文件

平凡的运维之路
2025-01-22 / 0 评论 / 0 点赞 / 24 阅读 / 4666 字

tomcat_无痕分割catalina.out日志文件

  • 定义启动tomcat启动脚本
[test@test  bin]$ cd /home/test/apache-tomcat-8.5.100/bin
[test@test  bin]$ more start_tomcat.sh 
#!/bin/bash
start(){
    echo "Starting tomcat"
    bash startup.sh
    nohup ./tomcat_log.sh > /dev/null 2>&1 &
    echo $?
}

stop(){
    echo "Stopping tomcat..."
    pid_num=$(ps -ef|grep $(whoami)|grep apache-tomcat-8.5.100|grep -v grep|awk '{print $2}')
    log_num=$(ps -ef|grep $(whoami)|grep tomcat_log.sh|grep -v grep|awk '{print $2}')
    if [[ $pid_num =~ ^[0-9]+$ ]];then
        kill -9 $pid_num
    fi

    if [[ $log_num =~ ^[0-9]+$ ]];then
        kill -9  $log_num
    fi
    echo $?
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac

exit 0

  • tomcat日志分割脚本,定义凌晨00点执行
[test@test bin]$ more tomcat_log.sh 
#!/bin/bash

tomcat_log_split(){
    # 定义变量
    CATALINA_OUT="../logs/catalina.out"
    BACKUP_DIR="../logs"
    DATE=$(date +%Y-%m-%d_%H_%S)
    # 检查备份目录是否存在,不存在则创建
    if [ ! -d "$BACKUP_DIR" ]; then
        mkdir -p "$BACKUP_DIR"
    fi
    # 备份并压缩当前的 catalina.out 文件
    tar zcf "${BACKUP_DIR}/catalina.out_${DATE}.tar.gz" "$CATALINA_OUT"
    # 创建一个新的空的 catalina.out 文件
    truncate -s0 "$CATALINA_OUT"
}

HourArray=(17)
while true; do
    RunTime=$(date +%H)
    if [[ " ${HourArray[*]} " =~ " ${RunTime} " ]]; then
        tomcat_log_split
        # 计算距离下一个整点的时间并睡眠相应秒数
        sleep $((3600 - $(date +%M%S)))
    fi
    # 计算距离下一个整点的时间并睡眠相应秒数
    sleep $((3600 - $(date +%M%S)))
done
  • 运行
[test@testbin]$ ./start_tomcat.sh  start 
Starting tomcat
Using CATALINA_BASE:   /home/portal/apache-tomcat-8.5.100
Using CATALINA_HOME:   /home/portal/apache-tomcat-8.5.100
Using CATALINA_TMPDIR: /home/portal/apache-tomcat-8.5.100/temp
Using JRE_HOME:        /home/portal/jdk1.8.0_131
Using CLASSPATH:       /home/portal/apache-tomcat-8.5.100/bin/bootstrap.jar:/home/portal/apache-tomcat-8.5.100/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
0
[test@test bin]$ ps -ef|grep tomcat_log
portal   24227     1  0 17:22 pts/0    00:00:00 /bin/bash ./tomcat_log.sh
portal   24270 23310  0 17:22 pts/0    00:00:00 grep --color=auto tomcat_log

[test@test logs]$ ls -htrl
-rw-rw-r-- 1 test test  120 Jan 22 14:49 catalina.out_2025-01-22_14_39.tar.gz
-rw-r----- 1 test test    0 Jan 22 14:49 manager.2025-01-22.log
-rw-r----- 1 test test    0 Jan 22 14:49 host-manager.2025-01-22.log
-rw-r----- 1 test test    0 Jan 22 14:49 localhost_access_log.2025-01-22.txt
-rw-rw-r-- 1 test test 1.2K Jan 22 16:49 catalina.out_2025-01-22_16_39.tar.gz
-rw-rw-r-- 1 test test  127 Jan 22 17:13 catalina.out_2025-01-22_17_10.tar.gz
-rw-r----- 1 test test  918 Jan 22 17:14 localhost.2025-01-22.log
-rw-r----- 1 test test  12K Jan 22 17:14 catalina.2025-01-22.log
-rw-rw-r-- 1 test test 1.2K Jan 22 17:14 catalina.out_2025-01-22_17_48.tar.gz
-rw-rw-r-- 1 test test  127 Jan 22 17:15 catalina.out_2025-01-22_17_17.tar.gz
-rw-r----- 1 test test    0 Jan 22 17:15 catalina.out

0

评论区