nohup
命令用于在后臺運行程序,即使關閉終端或斷開連接,程序也會繼續運行。默認情況下,nohup
會將輸出重定向到 nohup.out
文件中。如果你想設置日志級別,可以通過以下幾種方法來實現:
你可以將標準輸出和標準錯誤輸出重定向到不同的日志文件,并根據需要設置日志級別。
nohup your_command > output.log 2> error.log &
output.log
:用于存儲標準輸出。error.log
:用于存儲標準錯誤輸出。如果你的程序是用編程語言編寫的,可以使用相應的日志庫來設置日志級別。例如,在 Python 中可以使用 logging
模塊:
import logging
# 配置日志
logging.basicConfig(filename='app.log', level=logging.INFO)
# 你的代碼
logging.info('This is an info message')
logging.error('This is an error message')
tee
命令你可以使用 tee
命令將輸出同時顯示在終端并寫入日志文件:
nohup your_command | tee output.log &
syslog
如果你希望將日志發送到系統日志,可以使用 syslog
:
nohup your_command >> /var/log/syslog 2>&1 &
你還可以使用第三方日志工具,如 logrotate
來管理日志文件的大小和輪轉。
logrotate
sudo apt-get install logrotate
logrotate
創建一個配置文件 /etc/logrotate.d/your_command
:
/path/to/output.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
這個配置文件表示每天輪轉一次日志文件,保留最近7天的日志,并對舊日志進行壓縮。
根據你的具體需求,可以選擇適合的方法來設置 nohup
命令的日志級別。對于簡單的應用,重定向輸出到文件可能是最直接的方法;而對于復雜的應用,使用日志庫或第三方日志工具可能更加合適。