タグ

logに関するshin-jinのブックマーク (6)

  • Rails1.2.5 Railsの運用環境で気をつけること-ログファイルとセッションファイルの整理 - iビジネス&テクノロジー

    Ruby on Railsをデフォルト環境のまま使うと、ログやセッションのファイルが無制限に増えていくので、どこかでそれらを整理する必要があります。正直なところ、この2点が自動化されないのはRails運用上の大きな弱点ではないかと思っています*1。 (追記 Nov 23, 2007) Rails2.0からはCookieStoreという新しいSession管理が導入されたため、デフォルト設定でセッションファイルのメンテナンスは不要になります。詳細はこちら。 セッションファイルの整理 デフォルトではrails-app/tmp/sessionsにユーザセッションがファイル形式で保存されます。このセッションファイル、特にアクセスが多いサイトでは膨大な数になったりするのですが、Railsが勝手に消してくれたりはしないので、定期バッチなどで自前で削除していく必要があります。以下はUnix系の環境でアク

    Rails1.2.5 Railsの運用環境で気をつけること-ログファイルとセッションファイルの整理 - iビジネス&テクノロジー
  • ログローテートについて考える - Katawara.*

    アプリを運用し始めると、原因のよくわからないトラブルに見舞われることが間々あります。 そんなとき、「とりあえずログで」とログを辿るのが常套手段だったりするのですけれど。 railsの場合、何も考えなかったら、延々と同じログファイルにひたすらログを出力する仕組みになっているから、ファイルが大きくなりすぎると、ファイルが開けないとかいう罠があったりします。 そういうのって、まずいっすよね。 ってことで、今回はログローテートの設定ってどうやるんだっけ? って話。 結論から言えば、実に単純。 /config/environment.rbか、/config/environment/#{RAILS_ENV}.rbのどれかの良きところに、こんなコードを書きます。 config.logger = Logger.new(config.log_path, 'daily') この場合、日次でログを新しくしてロー

    shin-jin
    shin-jin 2009/08/12
     Railsでのログローテーション
  • [linux,bash,date]1週間分のログをまとめて処理する (groundwalker.com)

    例えば、Apache のログを昨日から過去1週間分のログをまとめて処理するには。 #!/bin/sh logs='' for ((i=7; i>0; i--)) do logs=$logs'/var/log/httpd/access_log.'`date -d "-$i day" +%Y%m%d`' ' done cat $logs | ./my_script date コマンドは日付時刻出力フォーマットするだけでなく日付計算(日付時刻計算)もできることをさっき知った。。。すばらしいなー。"2 days ago" のように英語で書いてあげてもちゃんと計算してくれるし。 参考 : % info coreutils date

  • logrotate によるログのローテーション

    ここでは、ログの肥大化を防ぐためのログのローテーションについて解説していきます。syslog や他のプロセスが出力するファイルは放置していくとどんどんサイズが大きくなり、ディスクスペースを圧迫していきます。インストール時は/var ディレクトリのディスク占有率が0%であっても、数週間、数ヶ月経過するごとにあっという間に占有率が増大していることに気がつくと思います。しかし、これらの出力されるログを何世代分ローテーションさせるかといったことを予め決めておけば、指定した以上のファイルは作成されなくなり、その中でログがローテーションされていくのでログサイズの肥大化を防止することができるのです。RPMでパッケージをインストールしている方は、ほとんどログのローテーションをカスタマイズする必要はありませんが、ソースからコンパイルしてインストールした場合には、ログのローテーションは必須の作業となります。ま

  • logrotateによるログローテーション

    ログファイルを放置するとどんどんファイルは肥大化し、いつかはハードディスクの空き容量を使いきってしまいます。これを防ぐためにLinuxではlogrotateと呼ばれるログローテーション機構を利用しています。 ディストリビュータで配布されているバイナリパッケージから導入したアプリケーションは、既にこのlogrotateの設定がなされている場合がほとんどですが、ローテーション間隔を変更する場合や、自分でソースなどから導入したアプリケーションを利用する場合は設定が必要です。

  • syslogdの設定をマスターしよう

    システムのログをつかさどるsyslogd ログには、アプリケーションが独自に出力するものと、syslogdを利用して出力するものの2種類があります。 独自のログを出力する代表的なアプリケーションにはApacheやSquid、Sambaなどがあります。独自のログ設定を持つアプリケーションに関してはアプリケーションのマニュアルなどを読んでいただくとして、ほとんどのアプリケーションはsyslogdを利用してログを出力しています。以後は、syslogdを利用したログについて説明します(注)。 注:LinuxおよびUNIXでsyslogdがインストールされていないことは考えにくいため、特にインストール方法については言及しません。また、後述するlogrotateに関しても同様です。 Linuxでは、主なログの出力先は/var/logディレクトリです。ディレクトリ内を確認すると分かりますが、前述したよう

    syslogdの設定をマスターしよう
    shin-jin
    shin-jin 2009/08/04
     syslogについて
  • 1