我正在嘗試對名稱每天更改的文件(即當前日期附加到其名稱後面)使用tail -f命令。我試着這樣做:如何追蹤日期文件的名稱附加日期?
CURRENTDATE=$(date +%Y%m%d.log)
tail -F $CURRENTDATE
但執行該腳本時,它的尾巴的CURRENTDATE
設爲時間的文件。當日期改變時,tail命令可以自動切換到新文件嗎?我無法在這裏使用crontab來每天執行這個命令。基本上我使用Flume NG exec來源。
我真的很感謝這方面的幫助。
我正在嘗試對名稱每天更改的文件(即當前日期附加到其名稱後面)使用tail -f命令。我試着這樣做:如何追蹤日期文件的名稱附加日期?
CURRENTDATE=$(date +%Y%m%d.log)
tail -F $CURRENTDATE
但執行該腳本時,它的尾巴的CURRENTDATE
設爲時間的文件。當日期改變時,tail命令可以自動切換到新文件嗎?我無法在這裏使用crontab來每天執行這個命令。基本上我使用Flume NG exec來源。
我真的很感謝這方面的幫助。
沒有辦法tail命令本身可以自動切換到新的文件使用不同的名稱,當日期改變。因此,你必須在適當的時候殺死舊尾巴並開始新的尾巴。
while
tail -F `date +%Y%m%d.log`& sleep $(expr `date +%s -d'day 0'` - `date +%s`)
do kill $!
done
到尾部最近.log
文件目錄:
LASTFILE=$(ls -t *.log | head -1)
tail -F $LASTFILE
我正在使用flume-ng exec tailing旋轉日誌文件。 這裏是我的解決方案:
originAgent.sources.originSource2.type = exec
originAgent.sources.originSource2.command = locktail_rotate.sh /path/to/test.DATE_ROTATE.log 'date +"%Y%m%d"'
而且你可以從here檢出locktail_rotate.sh。
你想用什麼日期?文件的修改日期?目錄中最新的文件?您可以使用'ls -tr * .log |獲取最新的文件尾巴-n1' – beroe