精华内容
下载资源
问答
  • Linux nohup输出日志文件的方法
    千次阅读
    2021-05-13 04:08:17

    最近在Linux上部署视频流推送应用时,由于网络不稳定等原因程序会不断的输出错误信息,结果导致程序运行一天下来日志文件直接占满磁盘,解决方法就是不再输出日志文件,命令如下:

    只输出错误信息到日志文件:

    nohup ./program >/dev/null 2>log &

    什么信息也不要:

    nohup ./program >/dev/null 2>&1 &

    关于/dev/null

    /dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容。它就像一个黑洞,我们一般会把/dev/null当成一个垃圾站,不要的东西丢进去。比如来清除文件中的内容。参考:https://www.cnblogs.com/songgj/p/8998049.html

    Linux的重定向

    0:表示标准输入;

    1:标准输出,在一般使用时,默认的是标准输出;

    2:表示错误信息输出。

    ./program >/dev/null 2>log表示将program的错误信息输出到log文件,其他信息丢进/dev/null。

    ./program >/dev/null 2>&1表示将program的错误信息重定向到标准输出,其他信息丢进/dev/null。

    原文:https://www.cnblogs.com/breakingbrad/p/12378246.html

    更多相关内容
  • 最近在一hadoop测试集群运行一个spark streaming程序,然后使用nohup ./execute.sh & 执行让程序后台运行,才几天日志就上G了,如果有问题想要查看日志,显然打开文件是一件很麻烦的事,于是我想办法通过减小文件...
  • 执行让程序后台运行,才几天日志就上G了,如果有问题想要查看日志,显然打开文件是一件很麻烦的事,于是我想办法通过减小文件大小:1、nohup命令解释:a、语法:nohup [command] [args] [&]b、说明:nohup 命令...

    最近在一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、解决方案

    1、只记录异常日志

    # nohup python -u Job.py >/dev/null 2>error.log  2>&1 &

    2、不记录任何日志

    # nohup python -u Job.py >/dev/null  2>&1 &

    2、简述

    1)/dev/null 属于字符特殊文件,属于空设备,它是一个特殊的设备文件,会丢弃所有一切写入其中的数据,写入它的内容都会永远丢失。一般会把/dev/null当成一个垃圾站,所有不需要的信息丢进去。

    2)Linux的重定向

        0:表示标准输入;

        1:标准输出,在一般使用时,默认的是标准输出;

        2:表示错误信息输出。

    3、总结

    nohup python -u Job.py >/dev/null 2>error.log  2>&1 &

        表示将Job.py程序的错误信息输出到error.log 文件,其他信息丢进/dev/null。

    nohup python -u Job.py >/dev/null  2>&1 &

        表示将Job.py程序的错误信息重定向到标准输出,其他信息丢进/dev/null。
    参考链接:https://blog.csdn.net/jiahao1186/article/details/89874557

    展开全文
  • 后台运行命令:nohup nohup命令:nohup是不挂断的意思( no hang up)。如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令忽略所有挂(SIGHUP)信号,可以在你退出帐户...

    后台运行命令:nohup

    nohup命令:nohup是不挂断的意思( no hang up)。如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令忽略所有挂(SIGHUP)信号,可以在你退出帐户/关闭终端之后继续运行相应的进程。

    该命令的一般格式为:

    nohup yourcommand &
    # yourcommand:启动对象命令。可以跟该命令需要的各种参数。
    # &是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出. nohup与&结合起来,可以实现不挂断的后台运行。

    实现屏幕输出记录到日志文件

    nohup yourcommand 2>&1 &
    # 0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
    # 2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到日志文件中。

    如果希望将日志输出到别的文件中,可以增加一个文件路径参数。如下:

    nohup yourcommand > myout.log 2>&1 &

    其中myout.log是保存输出的文件名称;

    php /data/xxx/aaa.php > test.log 2 >&1

    >覆盖,

    >>追加


    2>&1 表示不仅命令行正常的输出保存到test.log中,产生错误信息的输出也保存到test.log文件中;


    实时监测日志输出内容命令:tail

    tail 命令是nohup命令的好搭档。配合-f参数,可以实时监视向日志文件增加的信息。

    tail -f myout.log

    tail -f 等同于–follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

    tail -F 等同于–follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

    tailf 等同于tail -f -n 10,与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电。


    监测程序是否在正常运行中:ps

    ps命令也可以和nohup命令配合使用,用于显示当前进程 (process) 的状态。可以监视后台程序是否在正常运行中或者已经挂掉。

    ps -ef|grep yourcommand
    # -ef 参数显示所有命令,连带启动时的命令行参数

    展开全文
  • nohup输出日志文件

    千次阅读 2021-12-16 21:44:44
    1.1.1 标准输出日志文件覆盖 command > output.txt command 1> output.txt 以上两句等价。将命令的stdout重定向至文件,stdout将不会出现在终端。 如果文件已经存在,将会覆盖。 1.1.1 标准输出日志文件...
  • Linux后台运行命令nohup实现屏幕输出记录到日志文件

    万次阅读 多人点赞 2019-09-05 11:29:48
    后台运行命令:nohup nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令忽略所有挂断(SIGHUP)信号,可以在你退出帐户/关闭终端之后继续运行相应的进程...
  • 起因最近使用nohup创建了一个后台进程,默认日志输出到nohup.out文件中,程序跑起来也就没再管,过了大约一周,发现硬盘空间不够了,于是查找原因,发现这个nohup.out文件已经了70G了,导致硬盘空间不足了。...
  • linux中运行命令行时,会输出一些日志信息,特别典型的是启用WebLogic命令时,输出一些信息,当启用demon模式运行时,又想收集这些信息咋办? 解决的办法就是使用输出重定向,如下面的命令: nohup ./run >log ...
  • 主要介绍了Linux中如何能在输出信息的同时把信息记录到文件的相关资料,文中主要使用的是tee命令,需要的朋友可以参考借鉴,下面来一起看看吧。
  • nohup sh inotify3.sh >>333.out & nohup python -u sss.py >> 123.out & 转载于:https://www.cnblogs.com/angdh/p/11319785.html
  • Linux使用nohup命令启动程序后,会打印大量的日志,很快运维同事收到磁盘已满的报警短信通知。 1、解决方案 1、只记录异常日志 # nohup python -u Job.py >/dev/null 2>error.log 2>&1 & 2、...
  • 后台运行命令:nohupnohup命令:nohup是不挂断的意思( no hang up)。如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令忽略所有挂(SIGHUP)信号,可以在你退出帐户/...
  • 【转】Linux 后台运行命令 nohup 输出 pid 到文件时间:2020-07-31 阅读次数:248 来源:博客园用nohup可以启动一个后台进程。让一个占用前台的程序在后台运行,并静默输出日志到文件nohupcommand>logfile.txt&...
  • 1、nohup命令解释:a、语法:nohup [command] [args] [&]b、说明:nohup 命令运行由 Command 参数和任何相关的 Arg ... ( 表示“and”的符号)命令的尾部,如果不指定重定向,则日志默认输出到当前目录下nohup....
  • 参见 Linux nohup输出日志文件的方法
  • 今天再docker内启动程序的时候,打算将屏幕输出等重定向到日志文件中,但是启动程序后,通过tail -f命令查看日志文件,发现日志文件没有及时更新。试了几次都一样,但是之前使用这个命令的时候,都是可以看到日志...
  • FreeBSD可以同时运行多个进程,在shell下...下面的命令从后台执行,从ftp.isc.org下载文件。$ fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz &当程序已经在前台执行的时候,可以使用^Z将这个程序挂起,暂停...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,690
精华内容 4,676
关键字:

linux nohup日志输出到文件