关于Linux中nohup.out日志过大问题

背景,java项目,一般在运行JAVA程序时需要用到nohup命令来实现后台启动日志,默认保存在当前目露nohup.out文件。但是有些程序输出nohup文件会出现过大的情况。

在此解决如下:

1,在nohup.out 所在目录创建一个ClearNohup.sh 脚本,通过定时任务让其每周清理一次。防止nohup文件过大问题。#!/bin/bash

#

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

cd $this_path

echo $this_path

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

echo $current_date

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

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

2,添加定时任务

crontab -e

* * * * */1 /cljj/apps/21.biz_channel/clearNohup.sh    #每周执行清理日志操作

注:

1、nohup命令解释:

a、语法:nohup [command] [args] [&]

b、说明:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加&(表示“and”的符号)到命令的尾部,如果不指定重定向,则日志默认输出到当前目录下nohup.out文件中,一般提交如 :nohup ./execute.sh &  这样日志或输出当前运行目下.nohup.out中重定向: nohup ./execute.sh >  /home/xxx/log.log 2>&1 & :这样日志会重定向到指定目录下

2、split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。

选项

-b:值为每一输出档案的大小,单位为 byte。

-C:每一输出档中,单行的最大 byte 数。

-d:使用数字作为后缀。同时也可以使用-a length来指定后缀的长度:

-l:值为每一输出档的列数大小。

例如:

生成一个100k的文件,然后用split切分(格式datafile201703230000)。# dd if=/dev/zero bs=100k count=1 of=date.file

# split -b 10k -d -a 4 ./date.file   ./logs/nohup$(date +\%Y\%m\%d)log

# cd logs/ ;ls

nohup20170323log0002  nohup20170323log0006

nohup20170323log0003  nohup20170323log0007

nohup20170323log0000  nohup20170323log0004

nohup20170323log0001  nohup20170323log0005

linux out 日志,关于Linux中nohup.out日志过大问题(示例代码)相关推荐

  1. python中延时函数_python中实现延时回调普通函数示例代码

    python中实现延时回调普通函数示例代码 这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的 ...

  2. Java EasyExcel在Web网站中读写Excel的方法及示例代码

    使用EasyExcel可以更容易简单在Web网站中读写Excel,本文主要介绍在Java Web网站中读写Excel方法及示例代码. 原文地址:Java EasyExcel在Web网站中读写Excel ...

  3. oracle连接失败日志文件,Oracle中的联机日志文件发生不同程度损坏的恢

    ORACLE通过redo来保证数据的重演,从而使得在数据库故障的时候,可以恢复,在数据库中redo文件至关重要.????????? 1.对于联机日志损坏要根据日志状态进行分析,联机日志一般分为Curr ...

  4. mysql重做日志与binlog日志区别_MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结...

    MySQL中有六种日志文件,分别是 重做日志(redo log) 回滚日志(undo log) 二进制日志(binlog) 错误日志(errorlog) 慢查询日志(slow query log) 一 ...

  5. python中实现延时回调普通函数示例代码

    这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. 回调函 ...

  6. ABOV单片机UART串口通讯中Printf函数实现讲解及示例代码-[MC96F6332D]

    一.准备工作 1.KEIL C51编译环境 2.CodeGen8 代码生成器 3.MC96F6332D 开发板 4.USB-OCD II仿真器 二.生成串口代码 1.在CodeGen8 代码生成器的外 ...

  7. Java 使用EasyExcel读取Excel中多个sheet方法及示例代码

    本文主要介绍Java中,使用EasyExcel读取Excel文件中多个Sheet的方法,以及使用示例代码. 1.读取数据的实体对象 @Data public class DemoData {priva ...

  8. Linux教程 - 在Shell脚本中声明和使用布尔变量示例

    需要定义一个名为failed的bash变量,并将值设置为False.当从cron作业调用我们的脚本时,特定的任务可能会失败,然后我需要将failed转换为True.基于$failed,我需要发送一封电 ...

  9. linux验证文件的完整性,linux中校验文件完整性(md5,sha1)(示例代码)

    经常在Linux下下载软件的人,一定会有一个良好的习惯:校验文件的hash,以确定文件的完整性甚至是安全性.我配置环境的时候也恰好用到了,笔者的是一个lubuntu的机子.这里我大致做个记录.(不了解 ...

最新文章

  1. oracle 数据 时间间隔,如何掌握 Oracle 中的时间间隔型数据
  2. 不用额外空间,链接二叉树同一层的每个node
  3. 算法问题---两艘船是否有最大承载量
  4. python中迭代器有哪些_Python迭代器:什么是Python中的迭代器以及如何使用它?
  5. vant 动态 粘性布局_CSS Viewport 单位,很多人还不知道使用它来快速布局
  6. Android 微光闪烁效果之更强Shimmer-android
  7. 解决VMware Workstation下面Windows Server 2012R2无法安装Hyper-V
  8. matlab查看RGB图像矩阵数值
  9. leetcode 79.单词搜索 dfs
  10. selenium简介_什么是Selenium? Selenium简介
  11. Windows 桌面主题 1.2
  12. 买礼物的艰辛【二分】
  13. 查看本机MAC地址的方法
  14. 我将进化成一条狗(5)——VR和AR
  15. 给出x.509证书的实例并分析其工作方式
  16. PCB软件对比分析(AD、Pads、Allegro)
  17. Mybatis实现分页功能
  18. 2022年度总结——2022我在CSDN的那些事暨2023我的目标展望:Pursue freedom Realize self-worth
  19. Dio 中的拦截器原来有这些用法
  20. 大连美女仿生机器人火了,网友:人形电脑东北银

热门文章

  1. deque,list,queue,priority_queue
  2. Spaly_Tree 模版
  3. QT乱码总结2.gbk和ANSI和gb2312的区别
  4. WinSock2编程之打造完整的SOCKET池
  5. IP地址分类及CIDR划分方法
  6. OS- -操作系统常见问题总结
  7. 短视频出海的关键指标、挑战及应对
  8. AI视觉在教育场景中的创新应用
  9. 我们还有一些话想和你说
  10. 微软为NBA提供云计算服务、Google公布Fuchsia OS细节、Zoom用户可选择数据库等|Decode the Week...