Re: [問題] stdout redirection應用問題
※ 引述《icetofux ()》之銘言:
: 我寫了一支長時間運行的程式,在運行過程中會持續產生訊息至stdout,我不想太
: 頻繁的讀寫儲存空間,所以我目前以
: $my_app > /dev/shm/my_app.log
: 的方式運行程式,將訊息輸出到記憶體構成的檔案系統中,當想要看即時訊息時以
: $tail -f /dev/shm/my_app.log
: 的方式將輸出訊息顯示到終端,目前運行的還不錯,但考慮到如果程式持續運行超過
: 一個月,我的/dev/shm/可能會不夠,請問有沒有什麼方法讓my_app.log在超過指定
: 行數的時候,清除最頂端開始的n行呢?
: 謝謝。
建立一個 script /usr/local/bin/log-dispatch.sh
由它幫你分檔,下面的例子是以分為檔案
#!/bin/sh
while read -r LINE
do
echo `date`,$LINE >> /dev/shm/`date +%Y%m%d%H%M`.log
done
根據 log 量可調整切檔週期
date +%Y%m%d%H #每小時
date +%Y%m%d #每天
另外再排程清理比較舊的檔
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.197.200 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1640265221.A.7DC.html
→
12/25 19:54,
2年前
, 1F
12/25 19:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Linux 近期熱門文章
23
129
PTT數位生活區 即時熱門文章