linux out 日志,关于Linux中nohup.out日志过大问题(示例代码)
關于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日志过大问题(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux开机自动启动数据库,mysql
- 下一篇: linux 其他常用命令