根据date创buildnohup.out文件

我正在使用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