`

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

    1_nohup.out

    1_nohup.out

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

    过大的日志文件维护起来存在诸多问题,所以最好是能够按日或按大小切分日志文件,下面小编给大家带来了Spring boot按日切分spring boot的nohup.out日志文件的方法,一起看看吧

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

    主要介绍了详解linux下nohup日志输出过大问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    nohup命令 后端运行程序

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

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

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

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

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

    Linux-nohup日志拆分

    主要涉及Linux下对nohup的日志按照每天定时拆分生成新的日志并清空nohup原来的日志

    nohup(2).out

    nohup(2).out

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

    tail -100f nohup.out ——–> 无显示 原因: python的输出有缓冲,导致日志文件并不能够马上看到输出。 -u参数,使得python不启用缓冲。 方法: 所以修改命令即可: nohup python3 -u xxxx.py > nohup.out & 以上...

    python脚本后台执行方式

    nohup python myscript.py params1 > nohup.out 2>&1 & 1 但直接使用上面代码,无法在程序运行过程中查看Python中的print “computing” 输出结果,比如在每次循环中使用print语句等。原因是python的输出有缓冲,...

    【已解决】利用nohup使得Python Flask项目在Ubuntu系统上后台运行

    一、问题: 今天在部署Python Flask项目到线上的时候,在虚拟环境中,运行项目可以...3、nohup在不规定的情况下,所以输出内容会到nohup.out中。 三、nohup代码 run.py为Flask项目的启动脚本,在python环境中不间断的运

    php守护进程 加linux命令nohup实现任务每秒执行一次

    Unix中 nohup 命令功能就是不挂断地运行命令,同时 nohup 把程序的所有输出到放到当前目录 nohup.out 文件中,如果文件不可写,则放到 <用户主目录>/nohup.out 文件中。那么有了这个命令以后我们php就写成shell ...

    nohup(5)(1).out

    nohup(5)(1).out

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

    除了main.py 换成自己的文件名,nohup.out 也可以改为其他名字, nohup1.out等。其余照搬。不要问我意思,我也不太懂 2.运行后出现的结果是一行xxxx 3.想要实时看到输出结果就再写一行代码,如上图 tail -fn 50 ...

    minio的Windows安装包

    nohup ./minio server ./data/ --console-address :8090 > nohup.out 2>&1 & 5.启动后会在data/生成一个.minio.sys的隐藏文件夹 vi ./data/.minio.sys/config/config.json access_key为用户名,secret_key为密码,...

Global site tag (gtag.js) - Google Analytics