在 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
將自動管理日志文件。