Bootstrap

怎么查看nohup某个时间日志_关于nohup重定向日志按日期区分文件(未解决)

启动服务的脚本:

#!/bin/bash

cd `dirname $0`

source start_base

#make sure classpath .. is ahead of the lib path

nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $LIB_JARS:$APP_LIB_JARS:. $CONTAINER_MAIN > $STDOUT_FILE 2>&1 &

echo 'Please check the STDOUT file: $STDOUT_FILE'

由于stdout.log文件过大,只有重启服务才会刷新文件,现在试图在服务不重启的情况下,把该文件按照日期或者文件大小来分成不同的文件,最终没有成功

方案1:使用crontab,每天把日志文件复制一份,然后删除日志文件,让程序自动新建一个日志文件往里写日志,或者手工新建一个日志文件让程序往里写。方案失败,因为Linux只认服务一开始创建的那个文件,删除之后程序输出日志不会再新建一个日志文件,手工新建日志文件之后也不再往里面写日志。

方案2:使用crontab,每天把日志文件复制一份,然后把现有日志文件内容清空,让程序继续往文件里写日志。方案失败,因为未停止的服务的日志在清空的时候,文件占用的磁盘空间不会被释放。比如,日志文件有3个G,清空日志文件,文件变为0kb,但新的日志再写入的时候会从3G之后开始写,文件大小立刻会变回3个G,日志文件就会继续增大&

;