特定の時間の間のデバイスログの取得

特定の時間の間のデバイスログの取得

ジョブを開始する前に/var/log/messagesをクリアし、ジョブ後に/var/log/messagesのデータを分析するcronのテストスクリプトを定期的に実行します。テストの開始時にデバイスログが消去されるため、これは予想される動作ではありません。

テスト実行中にのみデバイスログをキャプチャする方法では、テストはそのデータのみを分析できますか?

ベストアンサー1

あまり不器用な方法があるかもしれませんが、走ることはできます。

tail -0f /var/log/messages > captured_logs

テストスクリプトの実行時または使用

logger -i "Test started"
# ...test script...
logger -i "Test stopped"

(望むよりlogger)とgrep完全なログの次のセクション。ログがロールオーバーするとどうなるかわからないので注意してください。さらに堅牢になりました解決策は読むことです。syslogd■ソケット(-pオプション)、例:socat

socat UNIX-CLIENT:/var/run/log STDOUT

STDOUTよりも複雑なものは、お客様のニーズに適しています。 (このソケットからログをキャプチャするように設定(オプション)syslogdして、特定の時間に独自のインスタンスを実行することもできます。)-a

おすすめ記事