logrotateのへの可能性は、再起動せずにnginxの乗客とアプリをレール?

StackOverflow https://stackoverflow.com/questions/4211493

質問

(ちょうどそれが仕事をするnginxのためにUSR1シグナルを送る)nginxのを再起動せずにlogrotateのを行うことが可能です。私はそれが私のレールのアプリ(nginxの乗客)のために可能であるだろう。それだけのlogrotateを行うには、私のレールのアプリを再起動する価値はありません。

役に立ちましたか?

解決

あなたはRailsアプリケーションのログローテーションについて話している場合は、あなたが置くことによってそれを行うことができます。

 config.logger = Logger.new(config.log_path, 10, 1024**2)
ご使用の環境ファイルの

。第二引数は.logに保存しておきたいのですが、ファイル、およびファイルは、彼らが回転することがあります前に到達させていることをバイト単位のサイズである第三の数です。この構成は、1メガバイトの10個のファイルを意味します。おそらくlogrotateの(圧縮などのサポートはありません)ほど設定可能で、それはあなたがあなたのアプリケーション内のすべてのログファイルを保持することができますしない場合があります。これは通常、私のために動作します。

希望は、nginxの経由回転をログに記録するように固執する場合は、

また、このに見つけます。

他のヒント

logrotateの設定このダウンを取得するには非常に単純です。

/path/to/rails_apps/*/shared/log/*.log {
  daily
  missingok
  rotate 30
  compress
  delaycompress
  copytruncate
}

copytruncateは基本的にコピーし、新しいファイルと切り捨て古いファイルにコンテンツ。これは、再起動する必要がなくなります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top