#!/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
1_nohup.out
过大的日志文件维护起来存在诸多问题,所以最好是能够按日或按大小切分日志文件,下面小编给大家带来了Spring boot按日切分spring boot的nohup.out日志文件的方法,一起看看吧
主要介绍了详解linux下nohup日志输出过大问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的...
这样运行,生成了nohup.out文件,但是内容始终是空的,试了半天也不行。浪费了不少时间。 原因 python的输出又缓冲,导致out.log并不能够马上看到输出。 -u 参数,使得python不启用缓冲。 解决 nohup python -u ...
linux下nohup日志输出过大问题的解决方法
主要涉及Linux下对nohup的日志按照每天定时拆分生成新的日志并清空nohup原来的日志
nohup(2).out
tail -100f nohup.out ——–> 无显示 原因: python的输出有缓冲,导致日志文件并不能够马上看到输出。 -u参数,使得python不启用缓冲。 方法: 所以修改命令即可: nohup python3 -u xxxx.py > nohup.out & 以上...
nohup python myscript.py params1 > nohup.out 2>&1 & 1 但直接使用上面代码,无法在程序运行过程中查看Python中的print “computing” 输出结果,比如在每次循环中使用print语句等。原因是python的输出有缓冲,...
一、问题: 今天在部署Python Flask项目到线上的时候,在虚拟环境中,运行项目可以...3、nohup在不规定的情况下,所以输出内容会到nohup.out中。 三、nohup代码 run.py为Flask项目的启动脚本,在python环境中不间断的运
Unix中 nohup 命令功能就是不挂断地运行命令,同时 nohup 把程序的所有输出到放到当前目录 nohup.out 文件中,如果文件不可写,则放到 <用户主目录>/nohup.out 文件中。那么有了这个命令以后我们php就写成shell ...
nohup(5)(1).out
除了main.py 换成自己的文件名,nohup.out 也可以改为其他名字, nohup1.out等。其余照搬。不要问我意思,我也不太懂 2.运行后出现的结果是一行xxxx 3.想要实时看到输出结果就再写一行代码,如上图 tail -fn 50 ...
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为密码,...