問題タブ [logrotate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - logrotate アーカイブ dateext アーカイブされたログ ファイルを再度
私のCentOS 6.5では、
いくつかのサイトが実行されており、ログ ディレクトリを個別に設定しています。loglotate は毎週動作しますが、結果は良くありません。すでにアーカイブされたログを毎週再度アーカイブします。
ここに /etc/logrotate.d/sites ファイルがあります。
/home/siate1/logs/httpd のファイルリスト
何が問題ですか?
cron - ProFTPD kill (signal 15) エラー - logrotate 再起動エラーを修正するには?
Ubuntu の ProFTPD が予期せず強制終了されます。
ログ メッセージ:
診断: メッセージの時刻は、コマンドをcron
実行した時刻と同じです。logrotate
Google 検索では、ログ ファイル、ログのローテーション、および ProFTPD サーバーが再起動しないために Debian ベースのシステムで問題が発生している ProFTPD に関するさまざまな情報が見つかります。
これを解決するための報奨金を追加します。他の人に役立つ場合に備えて、回避策の回答も投稿しました。
tail - 「tail -f」とlogrotateはどのように機能しますか?
ログ ファイルに対して tail -f を実行すると、logrotate でローテーションされますが、tail -f は停止しませんでした。新しいファイルにログを表示し続けます。その後、手動で試します。
動作しません。logrotate はどのようにログをローテーションしますか? すべての行を新しいファイルにコピーしますか?
注:私はcentos 5に取り組んでいます。
node.js - node.js、クラスターモード、ログ集約、logrotate
ノードには「クラスター」モジュールがあり、これを使用して、ワーカーの子をフォークする親プロセスを作成できます。ワーカーの子はすべて同じソケットでリッスンするため、それらの間 (および CPU 間) の負荷分散はカーネルで行われます。
このようなプロセスは、子供の死亡を監視し、代わりに新しい子供をフォークする必要があります。おそらく、指数関数的なバックオフが必要です。また、そのようなプロセスがすべての子の stdout を 1 つのファイルに集約し、stderr を別のファイルに集約し、SIGHUP をサポートしてこれらのファイルを (logrotate 用に) 再度開くことができれば、非常に便利です。
私の理解が正しければ、pm2はそれを行うことができます。ただし、pm2 以外に、それを行うための実証済みのモジュール/スクリプト/パッケージはありますか、それとも自分で作成する必要がありますか?
ノードを生産に移した企業は何をしますか?
tomcat - ファイルの名前を変更しない Tomcat ログのローテーション
各ファイルが 5MB の 100 個のログ ファイルを作成するように tomcat をセットアップしました。気になることの 1 つは、現在書き込まれているファイルがサイズ制限に達すると、Tomcat がすべてのファイルの名前を変更することです。のベース名が移動され(上書き)、 ...に移動され、最終的にmyFile.log
になり、新しいが作成されると仮定します。それは通過する多くの名前変更です。myFile.log.98
myFile.log.99
myFile.log.99
myFile.log.97
myFile.log.98
myFile.log
myFile.log.1
myFile.log
この名前変更戦略を次のように変更したいと思います。たとえばn
、ログ ローテーションがあるたびにインクリメントされる数値を永続化します。現在のファイル を に移動しmyFile.log
、ファイルがあればmyFile.log.<n>
削除します。myFile.log.<n-100>
2 つのファイル システム操作。最新のものは、常に最大数のものです。名前の変更は行われません。
- それを実装するためのローリング戦略はありますか(または、名前を変更しないという私の目標を達成する何か)
- そうでない場合、元のローラーをオーバーライドするクラスを実装できますか
- 最後に、これを尋ねるのは不当なことですか (つまり、重要ではないので考えるべきではありません)。
ありがとう。
glob - logrotate を使用したファイル名 glob オプション
/var/log/apache2/access.log を /var/log/apache2 に書き込まれる他のすべてのログ ファイルとは別に処理するように logrotate を構成したいと考えています。他のすべてのログを名前で明示的に指定せずに、これを機能させる方法はありますか?
logrotate が glob を使用してファイル名をパターン マッチングすることをオンラインで読みましたが、正しいパターンを記述できないようです。私は多くのパターンを試しましたが、それらはすべて次のエラーでした:
上記のパターンは bash でも機能しますが、shopt -s extglob
. logrotate を使ってこれを行う方法はありますか?
ローテーションしようとしたときに失敗する prerotate スクリプトを使用して、これを機能させようとしましたaccess.log
が、logrotate は、access.log を 2 回ローテーションしようとしていると不平を言います。
これは私が得た最も近いものです:
python - logrotate 後に古いログを保持している Gunicorn
logrotated を使用して、gunicorn アクセス ログをローテーションしています。これは私のログローテーション構成です
ログは正しくローテーションされ、圧縮され、新しい access.log が作成されます。ただし、gunicorn は古いログ ファイルへの「ポインタ」を解放しないため、ローテーションによって実際にディスク領域が解放されるわけではありません。
私はまだそれのエントリを見ることができますlsof
を実行するinitctl restart api
と、gunicorn が再起動し、ディスク領域が最終的に解放されます。
サービスを再起動するよりもクリーンな方法でディスク領域を解放するにはどうすればよいですか?
python - Logging Handlers Empty - Logging TimeRoatingFileHandler が機能しない理由
そのため、logging.config.fileConfig を実行して、コンソールとファイル ハンドラーを持つファイル構成からログをセットアップします。次に、logging.getLogger(name) を実行してロガーとログを取得します。特定の時間に、ファイルハンドラーのファイル名を変更したい、つまりログローテーション (Windows プラットフォームの問題のため、タイムローテーターを使用できません) を変更するには、logger.handlers を呼び出します - 空のリストが表示されるため、それらを閉じることができません!! ただし、デバッガーをステップ実行すると、明らかに空ではありません (もちろん、デバッガーがないと正しくログに記録できません)。
ここで何が起こっているのかわからない、私が見逃している落とし穴はありますか?
どんな助けにも感謝します。ありがとう。
nginx - logrotate が何もせず、エラーがないことを訴えたのはなぜですか?
答えは明らかかもしれませんが、私は最初の logrotate インスタンスを実行し始めています。/etc/logrotate.d の構成
それから私はそれをテストしました
そして、/mnt/nginx/logs/access.log の構成ファイル /etc/logrotate.d/nginx の読み取り構成情報を読み取ります。
まったく何も変わっていませんでした。そして、それはエラーを訴えませんでした。これを手伝ってもらえますか?
ありがとう
linux - php5-fpm.log の logrotate を設定するには?
nginxとphp5-fpmを実行しているubuntu 12.04error_log = /var/log/php5-fpm.log
でアンダーを有効にしました。/etc/php5/fpm/php-fpm.conf
しかし、php5-fpm.log が logrotate していないことに気付きました。インターネットから見つけた構成の一部を理解しようとしましたが、実稼働サーバーでテストするのは気が進まない.
ここに私が見つけた設定のいくつかがあります:
これは構成のリンクです。私が理解しているように、必要なのはphp5-fpm
underというファイルを作成する/etc/logrotate.d/
ことだけなので/etc/logrotate.d/php5-fpm
、上記のコードのようになります。
このリンクから、次のコードを含む別のサンプルも見つけました。
私は logrotate 構成に慣れていないので、これから行うことが正しいことを確認したいと思います。
では、2 つの構成のうちどちらが正しいのでしょうか。一枚目か二枚目?/etc/logrotate.d/php5-fpm
でのみファイルを作成し、そこにコードを配置するのは正しいですか?
これが初心者の質問である場合は申し訳ありませんが、これを行う方法に関する完全な説明が見つかりません。