• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルスクリプトでsyslogを別ファイルに追記)

シェルスクリプトでsyslogを別ファイルに追記する方法

このQ&Aのポイント
  • Linuxとシェルスクリプトの超初心者のための、syslogを別ファイルに追記する方法を解説します。
  • シェルスクリプトを使用して、/var/log/messagesを/tmp/syslogAllにコピーし、cronで新しいログ部分のみを追記する方法を説明します。
  • 具体的な方法として、syslogAllファイルの最後の行(キーワード)を取得し、messagesファイルをgrepして、最新のログ部分をリダイレクトして追記します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

まずはlogを長い期間保存したいのでしたら、Linuxのログローテーションを調整することでできますので、そちらをお勧めします。 Linuxの設定はwebminを使えば比較的簡単にできます。それにはログローテーションの項目もあります。 さて、 diffを使った方法を紹介します。ファイルの差分をとれますので、減った分は無視し、増えた分だけを追加する方法です。 diff /tmp/syslogAll /var/log/messages|grep "^> "|cut -c 3- >>/tmp/syslogAll 普通/var/log/messagesは定期的にローテションされる設定になっているでしょうから、タイミングによって前の状態が全く残っていないこともありますので、その部分は無くなってしまします。最初に書いた方法が無難だと思います。

renounce
質問者

お礼

ありがとうございます! 実は、Linux自体の設定は変更が許されないので、できないのです。 diffコマンドありがとうございました。とても助かりましたし、勉強になりました! 本当にありがとうございました!

関連するQ&A