ディレクトリにログファイルを生成するプロジェクトmyservice
があります。upstart
/var/log/upstrart/
私のサービスはあまりにも多くのログを生成するので、この問題を解決する必要があります。それまでは、時間ではなくサイズに基づいてログファイルを回転させる必要があります。私のデフォルト設定logrotate
は次のとおりです。
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
これを無視できますかmyservice
?
私の勝利を作成してフォルダlogrotate.conf
に追加すると、既存の設定を上書きできますか?/etc/init.d/myservice
答え1
myservice
デフォルトでは、runを使用すると設定ファイルと互換性のあるファイルもありupstart
ますが、後者はディレクトリではありません。または、下にサブディレクトリを持つことは非常に非標準です。/etc/init/myservice.conf
/etc/init.d/myservice
/etc/init
/etc/init.d
つまり、アップグレードによって変更が上書きされる可能性があるため、ディストリビューションでファイルを変更するのは非常に悪い考えです。すべてのディストリビューションにはこれを防ぐメカニズムがありますが、機能しているかどうかはわかりません。ですから、/etc/logrotate.d/upstart
あなたが引用した凧のソースが何であれ、むやみに扱わないでください。これは、ログファイルをに保存できないことを意味します/var/log/upstart
。
最も簡単な回避策は、ディレクトリを作成し、ファイルを編集して/var/log/myservice/
サービス/etc/init/myservice.conf
にログインするように指示し、/var/log/myservice/myservice.log
(最も難しい部分です。以下を参照)、必要/etc/logrotate.d/myservice
なセクションを含むファイルを作成することです。
サーバー障害デーモンに他の場所に記録するように指示する方法に関するいくつかのヒントがあります(通常は、ログを開始からsyslogに移動してからsyslogに書き込む場所を教えてください)。私はあなたのサービスについて何も知らないので、もう話しません。