2013-11-23 48 views
0

在Linux中是否有命令只顯示日誌文件中的最新條目?理想情況下,每次讀取文件後都會清除日誌文件。在文件中顯示最新的日誌條目 - Linux

+0

哪個日誌你指的文件:是下面的很好我的腳本工作? – vkrams

+0

'tail'或'tail -f'(用於自動打印新行)可能適用於您,儘管它們不會清除日誌文件(您可以使用'echo -n「」><日誌文件名稱>或者''fopen()''用'w'作爲'mode'參數)。 – Abrixas2

+1

@ Abrixas2:如果你想清空(清除)一個文件,只需說'> FILENAME',不需要echo和東西。 –

回答

5

還有tail,假設你想查看最後幾個(tail -n N看最後的N,默認是10)。然後tail -f會連續顯示最後一個條目,直到您按下Ctrl-C來停止它。

沒有那些工具「清除」日誌文件,就像刪除它一樣,但這是一件好事:日誌文件應該附加到,並且很少刪除。

爲了節省空間,可以用logrotate「旋轉」(重命名和壓縮)日誌。有關更多信息,請參閱man logrotate

+0

通常我會完全同意日誌文件不應該被清除,但是這個特定的日誌文件是openvpn日誌文件並已決定清除日誌文件以協助保護用戶的匿名。但是,如果需要,我仍然需要監視它們並採取相應措施,因此,如果我可以創建腳本來讀取日誌文件,那麼在每次讀取日誌文件後清除它都是理想的。 – user3024774

+0

當然,您可以使用我提到的工具製作腳本。 –

0

@約翰Zwinck:

cat 'logfile' 
> 'logfile'