在 CentOS 系统中,nohup
命令用于在后台运行程序,即使关闭终端也不会中断。默认情况下,nohup
会将输出重定向到名为 nohup.out
的文件中。如果你想自定义日志格式,可以使用 shell 脚本或命令行工具来实现。
以下是一个简单的示例,展示了如何使用 nohup
和 logrotate
自定义日志格式:
- 创建一个名为
my_app.sh
的 shell 脚本,用于启动你的应用程序:
#!/bin/bash # my_app.sh # 设置日志文件路径 LOG_FILE="/path/to/your/custom.log" # 将标准输出和标准错误重定向到日志文件 exec >> "$LOG_FILE" 2>&1 # 在这里启动你的应用程序 ./your_application
确保脚本具有可执行权限:
chmod +x my_app.sh
- 使用
nohup
命令运行脚本:
nohup ./my_app.sh &
这将使你的应用程序在后台运行,并将输出重定向到自定义日志文件 custom.log
。
- (可选)配置
logrotate
以自动管理日志文件。创建一个名为/etc/logrotate.d/my_app
的配置文件:
/path/to/your/custom.log { daily rotate 7 compress missingok notifempty create 0640 root root }
这个配置表示每天轮换日志文件,保留最近 7 天的日志,压缩旧日志文件,如果日志文件不存在则不报错,如果日志文件为空则不轮换,以及设置新日志文件的权限和所有者。
现在,你的应用程序将在后台运行,并使用自定义日志格式。同时,logrotate
将自动管理日志文件。