精华内容
下载资源
问答
  • Linux脚本分割日志
    千次阅读
    2022-03-22 14:29:29

     #!/bin/bash

    # 日志保存位置
    base_path='/home/ap/webapp/nginx/logs'

    # 日志相对位置
    api_path='apilogs'

    # 创建门户接口日志目录
    mkdir -p $base_path/$api_path

    # 公共服务接口日志相对路径
    publicservice_path='publicservicelogs'

    # 创建公共服务接口日志目录
    mkdir -p $base_path/$publicservice_path

    # 获取今天时间信息
    nowtime=$(date +"%Y%m%d%H%M")

    # 设置保存时文件大小值(500M)
    maxsize=$((512*1024*1024))

    # 判断文件大小再处理,大于设定值则备份
    filename=api_access.log
    filesize=`ls -1 $base_path/$filename | awk '{ print $5}'`
    #prefixname=api_access_

    if [ $filesize -gt $maxsize ]
    then
        echo "$filesize > $maxsize"
        mv $base_path/$filename $base_path/$api_path/api_access_$nowtime.log
    else
        echo "$filesize < $maxsize"
    fi

    # 服务日志路径
    servicefilename=access.log
    servicefilesize=`ls -1 $base_path/$servicefilename | awk '{ print $5}'`
    #prefixname=api_access_

    if [ $servicefilesize -gt $maxsize ]
    then
        echo "$servicefilesize > $maxsize"
        mv $base_path/$filename $base_path/$api_path/api_access_$nowtime.log
    else
        echo "$servicefilesize < $maxsize"
    fi

    # 通过Nginx信号量控制重读日志

    kill -USR1 `cat $base_path/nginx.pid`

    更多相关内容
  • 日志分割带有完整的说明,对linux上面产生的日志进行分割日志分割带有完整的说明,对linux上面产生的日志进行分割
  • linux日志分割

    2021-12-14 14:15:53
    想象一下springboot开发的项目 一般都自带tomcat 如果我们... 日志分割 sudo -u springboot nohup /usr/bin/java -Xms512m -Xmx512m -jar /home/java/xxxx-1.3.4.jar --server.port=8085 >> /tmp/xxx.log...

    想象一下springboot开发的项目 一般都自带tomcat 如果我们直接以jar的形式执行,那么就需要不挂断执行那么日志怎么办?会不会越来越大?

    根据网络安全法第二十一条规定,网络日志应留存不少于六个月。

         咋办?

        日志分割

    sudo -u springboot nohup /usr/bin/java -Xms512m -Xmx512m -jar /home/java/xxxx-1.3.4.jar --server.port=8085 >> /tmp/xxx.log 2>&1 &

    日志是一个很重要的记录,一般程序出现问题,都要通过日志来排除,那么我们怎么处理这个日志呢?不管又会一直变大,删除又不行

       日志有多种分割方式

         我例举我习惯使用的一种

       用shell来执行

    current_date=`date -d "-1 day" "+%Y%m%d"`
    
    split  -b 104857600 -d -a 4  /tmp/xxxx.log /tmp/java/xxxxx_${current_date}_
    
    cat /dev/null >/tmp/xxxx.log

    获取前一天的日期,把日志文件按照100M每份分割(你也可以设置小一点大一点),带日期加4个后缀  生成的文件类似   testlog_20211213_0000

    最后清空原来的日志文件

    当然你也可以使用宝塔面板来操作,确实很方便宝塔服务器面板,一键全能部署及管理icon-default.png?t=LA92http:// https://www.bt.cn/?invite_code=MV91ZWNla3Y=

    可以很好管理我们服务器部署的项目

         

     这样建一个计划任务 让它每日自动给我们分割日志,我们就可以很好的玩耍了

     

    展开全文
  • linux日志分割命令 - logrotate首页 计算机相关 linux命令 linux日志分割命令 - logrotatelogrotate 可以根据配置文件 /etc/logrotate.conf,/etc/logrotate.d/ 来对日志文件进行轮替操作。/etc/logrotate.conf 配置...

    linux日志分割命令 - logrotate

    首页 计算机相关 linux命令 linux日志分割命令 - logrotate

    logrotate 可以根据配置文件 /etc/logrotate.conf,/etc/logrotate.d/ 来对日志文件进行轮替操作。

    /etc/logrotate.conf 配置如下# 默认一个礼拜轮替一次

    weekly

    # 默认保留4个日志文件

    rotate 4

    # 由于文件被改名,轮替后创建新文件

    create

    # 被轮替的文件后缀名用日期来显示

    dateext

    # 是否对轮替文件进行压缩

    #compress

    # 这里面的配置文件都会读进来

    include /etc/logrotate.d

    # 这里针对轮替文件进一步设置

    # 同名的设置会覆盖上面的默认

    /var/log/wtmp {

    monthly #一个月轮替一次

    create 0664 root utmp #指定新文件的权限,所属账号和群组

    minsize 1M #一个月到了,如果文件小于1M,不轮替

    rotate 1 #只保留一个,比如 btmp-20180701

    }

    /var/log/btmp {

    missingok #代表如果日志文件不存在,直接跳过不报错

    monthly

    create 0600 root utmp

    rotate 1

    }

    # system-specific logs may be also be configured here.

    /etc/logrotate.d/syslog

    下面对4个日志文件进行轮替,如果要在{}里执行命令,则应该按照下面的格式,sharedscripts开头。/var/log/cron

    /var/log/maillog

    /var/log/messages

    /var/log/secure

    /var/log/spooler

    {

    missingok

    sharedscripts

    prerotate #这里代表轮替之前执行的命令,这里只是为了举例子,没实际用处。

    ls -al || true

    endscript

    sharedscripts

    postrotate #这里代表在轮替后重启 rsyslogd服务

    /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true

    endscript

    }[root@study ~]# logrotate [-vf] logfile

    选项与参数:

    -v :启动显示模式,会显示 logrotate 运行的过程喔!

    -f :不论是否符合配置文件的数据,强制每个登录文件都进行 rotate 的动作!#读取配置文件并检查,满足条件的则轮替

    logrotate -v /etc/logrotate.conf

    #强制轮替

    logrotate -vf /etc/logrotate.conf

    logrotate 由 crontab 每天都会执行一次检查,所以无需你操心,下面解释下几个额外配置参数。#只有文件大于10M时,时间到了才会被轮替。

    #文件不大于10M,时间到了也不会轮替

    size=10M

    #文件大于10M时,不管时间有没有到,都会轮替。

    #文件不大于10M,时间到了也会轮替

    maxsize 10M

    #文件大于10M,且时间也要到了才轮替。

    minsize 10M

    #可以为dateext指定格式,man 3 strftime查询。

    dateformat

    展开全文
  • Linux下Tomcat日志分割

    2021-05-12 06:21:41
    本文主要讲述使用cronolog分割tomcat的catalina.out文件。1. 下载编译安装wget ...

    本文主要讲述使用cronolog分割tomcat的catalina.out文件。

    1. 下载编译安装

    wget https://files-cdn.cnblogs.com/files/shidian/cronolog-1.6.2.tar.gz

    tar zxvf cronolog-1.6.2.tar.gz

    cd cronolog-1.6.2./configure

    make

    make install

    2. 查看cronolog安装后所在目录(验证安装是否成功)

    which cronolog

    一般情况下显示为:/usr/local/sbin/cronolog

    如下图所示:

    c49fd915bea1c030601ba8a26995fb80.png

    3. 编辑Tomcat目录bin下的catalina.sh文件

    找到下面这个,类似这样的行有2处:

    org.apache.catalina.startup.Bootstrap "$@" start \

    >> "$CATALINA_OUT" 2>&1 "&"

    第一处:Tomcat是带"-security"参数的启动。

    第二处:默认Tomcat启动方式,也就是else下面那部分,我们只修改这里。

    另外还要把touch "$CATALINA_OUT"这样注释掉。

    修改后的结果如下所示:

    272bbb52ede15a20613b8482c86bf090.png

    # touch "$CATALINA_OUT"

    if [ "$1" = "-security" ] ; then

    if [ $have_tty -eq 1 ]; then

    echo "Using Security Manager"

    fi

    shift

    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

    -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \

    -classpath "\"$CLASSPATH\"" \

    -Djava.security.manager \

    -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \

    -Dcatalina.base="\"$CATALINA_BASE\"" \

    -Dcatalina.home="\"$CATALINA_HOME\"" \

    -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

    org.apache.catalina.startup.Bootstrap "$@" start \

    >> "$CATALINA_OUT" 2>&1 "&"

    else

    # eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

    # -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \

    # -classpath "\"$CLASSPATH\"" \

    # -Dcatalina.base="\"$CATALINA_BASE\"" \

    # -Dcatalina.home="\"$CATALINA_HOME\"" \

    # -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

    # org.apache.catalina.startup.Bootstrap "$@" start \

    # >> "$CATALINA_OUT" 2>&1 "&"

    "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \

    -Dcatalina.base="$CATALINA_BASE" \

    -Dcatalina.home="$CATALINA_HOME" \

    -Djava.io.tmpdir="$CATALINA_TMPDIR" \

    org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog /opt/tomcat/apache-tomcat-9.0.13/logs/catalina.%Y%m%d.out >> /dev/null &

    fi

    272bbb52ede15a20613b8482c86bf090.png

    将原来else的脚本屏蔽掉,加入后面的这段代码。

    4. 重启Tomcat

    重启后logs目录如下所示:

    92b5dde8735bc635fc4e9ea36b85399a.png

    配置cronolog完成了,观察每天是否有个新的catalina.yymmdd.out的日志文件生成,定期删除日期较旧的日志文件。

    展开全文
  • Linux Tomcat下使用Log4j接管catalina.out 日志文件生成方式,按天分割,解决catalina.out日志文件过大问题 1、将log4j-1.2.17.jar、tomcat-juli-adapters.jar两个jar包和log4j.properties文件拷贝到 Tomcat 的 lib...
  • 主要介绍了Linux下把tomcat日志按日期自动分割的相关资料,需要的朋友可以参考下
  • 一、实例单条日志模板:2018-11-08 02:17:22 [Iceberg]process params:IcebergOfferServiceImpl.Params(pk=BF06NA2YEE60DKXVL0ARUJ5N, ua=Mozilla/5.0 (Linux; Android 6.0.1; SM-A500F Build/MMB29M; wv) Apple...
  • 主要介绍了Linux日志按日分割的shell,需要的朋友可以参考下
  • 该资源包含启动springboot项目的shell脚本文件、以及日志分割必备的cronolog压缩文件
  • Linux较大日志文件分割 在日常排查项目问题的时候,日志文件是非常有参考价值的。但是如果项目运行时间比较久,产生的日志量是海量的,此时查看较大日志文件就会很麻烦,我们可以使用linux提供的split命令,将较大的...
  • linux分割nohup日志

    2022-03-07 17:49:48
    1、编写分隔脚本(下是测试代码) 命令:vim test.sh 输入一下内容: ... # 需要切片日志文件 source=/data/java/nohup.out #切片过后的日志文件存放路径: target=/data/java/log/nohup"$curdate"_ fi...
  • Linux分割日志有两种常用命令ddsplit(推荐使用)1.dd:作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。参数注释:if=filename:输入的文件名of=finename:输出的文件名bs=bytes:一次读写的字节...
  • Linux按时间分割日志

    千次阅读 2019-07-23 18:51:00
    一、由来:需要做一个定时任务定期从MySQL数据库同步数据到Oracle,5m/次,同步日志写在一个文件恐有不妥,故而需要分割,一般按天,这里为了调试,按分操作。  1.任务如下:分别指定任务的脚本,任务读取文件...
  • 两点,一个是按照每小时进行分割,一个是将日志以“日期+时间”的形式进行保存。1.将日志按照每小时进行分割:利用crontab输入crontab -e,手动添加一个定时任务0 */1 * * * /bin/bash /root/tools/log_per_hour.sh...
  • 工作过程中需要统计ftp情况,但是系统自己切分的日志不满足要求。所以自己写切分脚本,主要原理,从源文件切分出前一天日期的数据到备份文件,然后抹除源日志文件前一天数据。使用方法 一般的都是结合crond 使用,...
  • Linux-nohup日志拆分

    2018-08-06 16:07:46
    主要涉及Linux下对nohup的日志按照每天定时拆分生成新的日志并清空nohup原来的日志
  • linux日志分割方法

    2017-08-04 13:24:25
    1.split split [-][-b ][-C ][-l ][要切割的文件][输出文件名] wc -l check.log 查看大概多少行 ...split -l 100000 check.log check_new.log 会分成n个日志文件 2. dd if=文件名:输入文件
  • Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...
  • Linux中tomcat日志切割

    2019-08-21 10:59:03
    linux中将tomcat的catalina.out文件按照catalina.20180821.out类似于这种格式做每天切割
  • 今天爱分享给大家带来Linux 服务器log日志切割方法【三种附命令行】,希望能够帮助到大家。业务服务器上产生了一个 10G 的log文件,然后很悲催的是什么样的文本编辑器都打不开,然后只能切分一下文件,再查看文本...
  • linux下实现日志切割的两种方法 logrotate
  • 针对linux环境上tomcat不断输出到catalina.out文件的问题,提供一个按天分割catalina.out的脚本,以及操作说明。绝对可用!
  • nginx日志分割 for linux

    2021-01-10 05:15:34
    使用方法,先将以下脚本保存为 cutlog.sh,放在/.../bin/bash#function:cut nginx log files shell#设置您的网站访问日志保存的目录,我的统一放在了/home/wwwlogs目录下log_files_path=”/home/wwwlogs/”log_files_d
  • Linux中tomcat日志分割需要用到cronolog1. 安装cronologtar –zxvf cronolog-1.6.2.tar.gz./configure && make && make install解压,编译, 安装(安装后目录一般在/usr/local/中)2. 为了能够一次正确...
  • linux日志切分

    千次阅读 2016-08-30 10:01:37
    tomcat默认生成catalina.out文件,随着...在此介绍一种方法,通过cronolog工具对其catalina.out进行分割。(若需要删除旧日志,写个定时任务进行删除即可。) 1. 下载cronolog cronolog-1.6.2.tar.gz 2. 安装cron
  • 日志文件过大,当出现问题需要排查的时候读取该日志会非常耗时,有些时候还需要将日志下载传送给开发人员排查,非常的不方便,为了维护catalina.out日志文件的可读性需要此文件按照周进行分割

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,297
精华内容 16,918
关键字:

linux分割日志

友情链接: SVMcgForClass.zip