`

nohup.out脚本切分

 
阅读更多

#!/bin/bash

# Author:

# Last Update: 2018.12.24

# Description: nohup.out 日志分割

 

this_path=$(cd `dirname $0`;pwd)   #根据脚本所在路径

current_date=`date -d "-1 day" "+%Y%m%d"`   #列出时间

 

apppath=`find /home/mapp -name "nohup.out"`

_lkbase=`dirname $apppath`;

echo $this_path

echo $current_date  

echo $_lkbase

 

do_split () {

    cd $1

    [ ! -d logs ] && mkdir -p logs

    split -b 100m -d -a 4 ./nohup.out   ./logs/nohup-${current_date}  #切分100兆每块至logs文件中,格式为:nohup-xxxxxxxxxx

    if [ $? -eq 0 ];then

        echo "Split is finished!"

    else

        echo "Split is Failed!"

        exit 1

    fi

}

 

do_del_log() {

    find ./logs -type f -ctime +7 | xargs rm -rf #清理7天前创建的日志

    cat /dev/null > nohup.out #清空当前目录的nohup.out文件

}

 

for i in ${_lkbase[*]}

do

   do_split $i 

   do_del_log $i

   echo "nohup is split Success"

done

 

 

可以使用定时任务来定时执行,比如我这里是每天早上一点执行

配置的方法如下

0 1 * * *  sh /home/root/nohupsplit.sh &>/dev/null

 

关于cron的配置,可以参考crontab的参考文件

 

需要注意的一点是cron的配置和java(spring)中的定时任务配置不是完全一致的,需要注意。比如最后一个为?号,在java中就能正常执行,但是在linux中就被认为是错误的

具体可以参考https://tool.lu/crontab/

参考:https://blog.csdn.net/qq_32923745/article/details/78286385

 

 

 

 

 

分享到:
评论

相关推荐

    nohup.out

    nohup.out

    详解linux下nohup日志输出过大问题解决方案

    例如,`nohup ./execute.sh &`会启动`execute.sh`脚本并在后台运行,日志输出到`nohup.out`。 为了控制日志大小,我们可以使用重定向功能。例如,`nohup ./execute.sh > /home/xxx/log.log 2>&1 &`会将标准输出和...

    Spring boot按日切分spring boot的nohup.out日志文件的方法

    下面我们将详细介绍如何使用cronolog工具在Spring Boot中实现按日切分`nohup.out`日志文件的方法。 首先,我们需要安装cronolog工具。cronolog是一个用于日志轮转的程序,它可以按照指定的时间格式(如日期)将输出...

    1_nohup.out

    1_nohup.out

    Linux-nohup日志拆分

    在Linux环境下,我们经常会使用`nohup`命令来运行一些长时间运行的任务,这些任务会将输出重定向到`nohup.out`文件中。随着运行时间的增长,这个文件可能会变得非常大,不仅占用大量磁盘空间,还可能影响系统的性能...

    linux下nohup日志输出过大问题的解决方法

    在上面的示例代码中,我们使用 split 命令将 nohup.out 文件分割成多个小文件,每个文件的大小为 5M。 `/usr/bin/split -b 5m $LOG_HOME/nohup.out -d -a 4 $LOG_HOME/nohup_out_${DATE} --verbose` 在上面的命令...

    Liunx系统定时删除任务,定时清理日志,定时清理任务

    为了确保`crontab`能正确执行shell脚本,你需要确保脚本使用的是系统的默认Shell,通常为`/bin/bash`,并在脚本开头添加`#!/bin/bash`作为解释器声明。 此外,`cron`服务需要运行才能执行定时任务,你可以通过`...

    项目中遇到的mqtt报错信息 nohup.out

    项目中遇到的mqtt报错信息

    welogic的nohup日志按天切割并定时删除.docx

    这个脚本首先将当前的`nohup.out`日志文件复制到指定的目标日志目录,并添加日期作为文件名后缀,格式为`YYYYMMDD`。然后,使用`cat /dev/null >`清空原始日志文件,以便开始记录新的日志条目。 接下来,为了定期...

    linux nohup及tail-f用法

    这对于查看不断增长的日志文件非常有用,例如在启动WebLogic服务器时,通过`nohup`命令启动后,可以使用`tail -f`来实时查看`nohup.out`文件中的日志信息,以便监控进程状态和错误信息。 使用`tail -f`的格式是: `...

    nohup命令 后端运行程序

    如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的...

    解决python nohup linux 后台运行输出的问题

    这样运行,生成了nohup.out文件,但是内容始终是空的,试了半天也不行。浪费了不少时间。 原因 python的输出又缓冲,导致out.log并不能够马上看到输出。 -u 参数,使得python不启用缓冲。 解决 nohup python -u ...

    python nohup 实现远程运行不宕机操作

    使用`nohup`命令,将Python脚本`main.py`放入后台执行,并将标准输出(stdout)和标准错误(stderr)重定向到名为`nohup.out`的日志文件中。命令格式如下: ``` nohup python -u main.py > nohup.out 2>&1 & ```...

    nohup(2).out

    nohup(2).out

    nohup后台启动Python脚本,log不刷新的解决方法

    然而,在使用`nohup`启动Python脚本时,可能会遇到日志(log)不刷新的问题,即在查看`nohup.out`日志文件时看不到实时更新的输出。本文将详细介绍这个问题的原因以及解决方法。 首先,让我们理解`nohup`命令的作用...

    常用linux命令

    4. **搜索日志内容**:`grep -C 100 'test' nohup.out > chao.out`这个命令在`nohup.out`文件中查找包含"test"的行,并显示其上下100行,然后将结果保存到`chao.out`文件。 5. **编辑文本文件**:`vi wu.out`打开`...

Global site tag (gtag.js) - Google Analytics