溫馨提示×

nohup命令如何實現日志輪轉

小樊
55
2025-03-22 00:57:42
欄目: 編程語言

nohup 命令本身不提供日志輪轉功能,但你可以將其輸出重定向到一個文件,并使用 logrotate 工具來實現日志輪轉。以下是如何配置和使用它們的步驟:

  1. 使用 nohup 命令將程序的輸出重定向到一個文件。例如,如果你想運行名為 myapp 的程序并將輸出保存到名為 myapp.log 的文件中,可以使用以下命令:
nohup ./myapp > myapp.log 2>&1 &

這會將標準輸出和標準錯誤都重定向到 myapp.log 文件,并在后臺運行程序。

  1. 創建一個 logrotate 配置文件。在你的 /etc/logrotate.d/ 目錄下創建一個新文件,例如 myapp。在這個文件中,添加以下內容:
/path/to/myapp.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 640 root adm
}

這個配置文件指定了以下選項:

  • daily:每天輪轉日志。
  • rotate 7:保留7個輪轉后的日志文件。
  • compress:壓縮輪轉后的日志文件。
  • missingok:如果日志文件不存在,不要報錯。
  • notifempty:如果日志文件為空,不進行輪轉。
  • create 640 root adm:創建新的日志文件,權限為640,屬主為root,屬組為adm。
  1. 確保 logrotate 服務已啟用并運行。在大多數Linux發行版中,logrotate 服務默認是啟用的。你可以使用以下命令檢查其狀態:
sudo systemctl status logrotate

如果服務未運行,可以使用以下命令啟動它:

sudo systemctl start logrotate

現在,你的程序的輸出將被記錄到 myapp.log 文件中,并且 logrotate 將每天自動輪轉日志文件。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女