我正在使用nohup
命令来运行一个Java Web服务器应用程序。 这是我正在使用的命令:
nohup java -jar WEB-SNAPSHOT.jar &
这个命令将创build一个nohup.out
和我的服务器日志存储在这个文件。 我想根据date创build这个文件,也就是说,如果当前date是2017-10-28 ,则应该创build文件nohup.2017-10-28.out
并且date变为2017-10-29 12:00上午 nohup.2017-10-29.out
应该自动创buildnohup.2017-10-29.out
文件等等。 例:
DATE | File | 2017-10-28 | nohup.2017-10-28.out 2017-10-29 | nohup.2017-10-29.out 2017-10-30 | nohup.2017-10-30.out
您可以将输出redirect到一个文件。
nohup java -jar WEB-SNAPSHOT.jar > nohup.$(date --iso).out
如果你redirect, nohup
不会创build默认文件,但会使用redirect指定的文件。
我也认为你不需要命令的最后。
如果目标是后台进程并将其标准日志logging到文件,那么如果将其作为服务实现,则还有更多function可用。
创build一个启动类似于ExecStart=/usr/bin/java -jar /opt/app/WEB-SNAPSHOT.tar
的命令的systemd服务
还要将其设置为login到systemd.exec中所述的唯一系统日志目标
StandardOutput=syslog SyslogIdentifier=app SyslogFacility=local6
将syslog设置为将该设施logging到其自己的文件(如/var/log/app.log
configuration/etc/logrotate.d/app来旋转文件。 根据需要使用dateformat和postrotate脚本。
/var/log/app.log