您好,登錄后才能下訂單哦!
在 Linux 系統中,可以使用 logrotate 工具進行日志輪轉
logrotate_example.py
的 Python 腳本,內容如下:import sys
import time
def main():
count = 0
while True:
with open("/tmp/example.log", "a") as f:
f.write(f"Log entry {count}\n")
count += 1
time.sleep(1)
if __name__ == "__main__":
main()
這個腳本會每秒向 /tmp/example.log
文件寫入一條日志。
logrotate_example.conf
的 logrotate 配置文件,內容如下:/tmp/example.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
這個配置文件指定了日志輪轉的參數:
daily
:每天進行一次日志輪轉。rotate 7
:保留最近 7 天的日志文件。compress
:壓縮舊的日志文件。missingok
:如果日志文件不存在,不會產生錯誤。notifempty
:如果日志文件為空,不進行輪轉。copytruncate
:在輪轉之前,先復制原始日志文件,然后清空原始日志文件。這對于正在寫入的日志文件非常有用。將 logrotate_example.conf
文件放置到 /etc/logrotate.d/
目錄下。這樣,logrotate 就會自動應用這個配置文件。
運行 Python 腳本:
python logrotate_example.py &
logrotate
命令手動觸發日志輪轉:sudo logrotate -f /etc/logrotate.d/logrotate_example.conf
現在,你應該能看到 /tmp/example.log
文件已經被輪轉,并且只保留了最近 7 天的日志文件。
注意:在實際生產環境中,你需要確保 logrotate 服務正在運行,并根據需要調整 logrotate 配置文件。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。