最近在一Hadoop测试集群运行一个Spark streaming程序,然后使用nohup ./execute.sh & 执行让程序后台运行,才几天日志就上G了,如果有问题想要查看日志,显然打开文件是一件很麻烦的事,于是我想办法通过减小文件大小:

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、切分nohup.out,同时不让它无限增长

我这里用的一般提交命令:nohup ./execute.sh &,这样在当前目录就有nohup.out文件了,这时候可以想办法定时将nohup.out切分成,多个小文件,但同时又要使nohup.out不会无限增长下去(一般情况下是程序不能中断的):

a、每天(根据需要设置时间),定时切分前一天的日志,(比如每天大概1g,那么可以么次切分100m左右),

b、切分完后将nohup.out文件情况,保证新的输出日志会不停的继续输出到nohup.out

以上在shell中:

current_date=`date -d "-1 day" "+%Y%m%d"`

split  -b 65535000 -d -a 4  nohup.out  ./log/log_${current_date}_   这里使用split命令,将nouhup文件按指定大小切分(65535000b 大概60多M吧,可以自定义大小),并分成指定格式(-d -a 4以4位数字形式为后缀以从0000开始,),最终输出格式为log_20160610_0001

cat /dev/null > nohup.out  (该命令会瞬间清空nohup.out文件,后续会继续写该文件),将日志定向到/dev/null中

使用重定向输出一样可以这样,只不过换成重定向的文件名即可。

将这些命令定义在一个shell文件每天定时运行即可,这样每天日志会被分成若干份,排查也方便,而且如果日志积压过大的话。可以定时删除历史的日志,保留近几天即可。

整体代码如下:

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 65535000 -d -a 4 /home/.../nohup.out   /home/.../log/log_${current_date}_

cat /dev/null > nohup.out

linux如何查看nohup日志大小,linux下nohup日志输出过大问题解决方案相关推荐

  1. linux如何查看磁盘空间大小?

    linux如何查看磁盘空间大小? 坑, 如何查看磁盘的容量大小? df -h

  2. linux查看目录文件系统,linux 怎么查看文件系统在哪个目录下

    linux 怎么查看文件系统在哪个目录下 mip版  关注:75  答案:2  悬赏:40 解决时间 2021-01-28 09:51 已解决 2021-01-28 00:09 linux 怎么查看文 ...

  3. idea工作台输出的日志详解_详解linux下nohup日志输出过大问题解决方案--分批切割...

    概述 有的时候我们为了让某个程序在后台跑,一般都会用nohup ./xxx & 执行让程序后台运行,假设过了一段时间日志就上G了,如果有问题想要查看日志,显然打开文件是一件很麻烦的事,有什么办 ...

  4. linux shell数字怎么比较大小,Linux Shell 数字计算与比较

    直接上脚本, 使用$(())以及$[]进行数字计算 数值比较: n1 -eq n2检查n1是否等于n2         n1 -le n2检查n1是否小于等于n2 n1 -ge n2检查n1是否大于等 ...

  5. linux怎么查看本地磁盘空间,linux怎么查看磁盘空间

    如果你在使用Linux过程中遇到无法读写磁盘,应用程序无法执行,请求响应不了等问题,那多半是Linux系统磁盘空间满了,那么怎么查看Linux磁盘空间呢?下面跟着学习啦小编一起来了解一下吧. linu ...

  6. linux怎么查看系统环境变量路径,Linux系统中的环境变量该如何设置与查看

    今天小编要跟大家分享的文章是关于Linux系统中的环境变量该如何设置与查看.大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常 ...

  7. linux系统查看电脑的核数,linux如何查看cpu核数

    当我的linux系统想要查看下cpu的核数!用什么方法好呢?下面由学习啦小编给你做出详细的linux查看cpu核数方法介绍!希望对你有帮助! linux查看cpu核数方法一 1.查看逻辑CPU个数: ...

  8. linux服务器查看防火墙是否关闭,linux查看防火墙是否关闭了的方法

    linux查看防火墙是否关闭了的方法 发布时间:2020-04-02 10:49:28 来源:亿速云 阅读:62 作者:小新 今天小编给大家分享的是linux查看防火墙是否关闭了的方法,很多人都不太了 ...

  9. linux如何查看tar的文件,Linux中如何查看文件内容、使用tar归档,备份与恢复文档...

    在Linux中查看文件内容的命令很多,如: cat命令--显示并连接文件内容(但文件内容过多的话就不适合用cat命令了),如,我们想看ens33这块网卡的信息 如果想要查看的文件过大的话,用cat命令 ...

最新文章

  1. Nature封面:人类还在看提词器,AI的辩论能力却出现了重大进展
  2. C#WINFORM窗体传参的最佳实践
  3. Symfony2 学习笔记之命令app/console
  4. java instraction_Java Instruction.getCodeUnits方法代码示例
  5. java代码优化_java代码之美(11)---java代码的优化
  6. Windows2003使用命令行设置共享权限与安全权限心得
  7. Windows7部署WordPress傻瓜式教程-cnblogs
  8. IDEA 远程调试war包
  9. MSN Messenger的用户管理
  10. LINE对话生成器使用教程
  11. 理工附中2021年高考成绩查询,2021年江苏理工学院录取结果查询,附查询网址入口...
  12. C/C++超级大火锅
  13. 语法糖(Syntactic sugar)
  14. Win11无法安装中文包语言包怎么办?
  15. 【每天学点管理】——RACI责任制(快速解决责任分配问题)
  16. pycharm删除文件后怎样找回
  17. avi格式视频转换高清mp4的方法
  18. Echarts_1:水平柱体
  19. 2022MathorCup赛题B
  20. 萨姆休斯顿州立大学计算机专业,萨姆休斯敦州立大学研究生条件

热门文章

  1. linux 运行程序的方法,linux 长期运行程序的 四种方法
  2. 使用Qt设计师文件的3种方式
  3. EMMA 覆盖率工具
  4. SVN图标不能正常显示
  5. Microsoft Office Communications Server 2007部署以及客户端安装(详细)【一】
  6. 【手机】Windows Mobile手机软件安装卸载方法
  7. python迭代器好处_python迭代器
  8. python如何读取文件数据恢复_删python目录
  9. Mysql 备份和还原
  10. LVM的逻辑卷管理及CentOS挂载