タグ付けされた質問 「logrotate」

logrotateは、大量のログファイルを生成するシステムの管理を容易にするように設計されています。ログファイルの自動ローテーション、圧縮、削除、およびメール送信が可能です。各ログファイルは、毎日、毎週、毎月、または大きくなりすぎたときに処理されます。

5
Logrotateが機能しない
私はVPSでlogrotateを動作させて、Apacheファイルを毎週ローテーションしようとしています。現在、apache2構成ファイルの内容はそのままです。 "/var/www/user/site.com/logs/*.log" { weekly missingok rotate 8 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript } 私は今2週間それを残しました、そして、私が知ることができる限り、何も変わりませんでした。コマンドラインからシミュレートすると、次の出力が表示されます。 user@geneva:/var/lib/logrotate$ /usr/sbin/logrotate -d /etc/logrotate.d/apache2 reading config file /etc/logrotate.d/apache2 reading config info for "/var/www/user/site.com/logs/*.log" Handling 1 logs rotating pattern: "/var/www/user/site.com/logs/*.log" weekly (8 rotations) empty log files are not …
18 logrotate 

5
Logrotate:非ログファイルを回転しますか?
さまざまなファイルとディレクトリを圧縮し、.tgzアーカイブを作成するバックアップスクリプトがあります。ファイルには名前が付けられます。例えば ... backup_2010-10-28.tar.gz backup_2010-10-29.tar.gz backup_2010-10-30.tar.gz backup_2010-10-31.tar.gz backup_2010-11-01.tar.gz これらのファイルを管理して、最後の5つのバックアップのみが保持され、古いファイルが削除されるようにします。 これを行うためにlogrotateを使用できますか?ログファイルではなく、既に圧縮されています。それらは/ var / logではなく/ rootにあります-まだ使用できますか? ありがとう

5
logrotateを使用したrsyslog:rsyslogとcopytruncateのリロード
デフォルトのrsyslogおよびlogrotateユーティリティを使用して、Ubuntu 14で作業しています。 デフォルトのrsyslog logrotate構成で/etc/logrotate.d/rsyslogは、次のように表示されます。 /var/log/syslog { rotate 7 daily missingok notifempty delaycompress compress postrotate reload rsyslog >/dev/null 2>&1 || true endscript } 私が理解していることから、現在のログを移動するのではなく、すべてのログローテーションシナリオでcopytruncateを使用することをお勧めしますが、開いているファイルハンドラーを持つプロセスが書き込みを続けることができるようにログを切り捨てます。 では、代わりにrsyslogのリロード機能を使用したデフォルトの構成はどうしてですか?

3
タイムスタンプを含むファイル名の優先形式
「unix」はファイルに「/」と「\ 0」以外のすべてを含めることができることを知っていますが、システム管理者は、入力としてスペースを好むものがほとんどないため、はるかに小さい設定を持つ傾向があります... 「:」や「@」の特別な意味。 最近、ファイル名にタイムスタンプが使用されている別のケースを見ましたが、異なる形式で少し遊んで「より良い」ようにした後、私は考えたものではなく「ベストプラクティス」を見つけようと思いましたここで質問して、人々の考えを見てみましょう。 考えられる「一般的な」解決策(p = prefixおよびs = suffix): syslog / logrotate / DNSのような形式: p-%Y%m%d-suffix = prefix-20110719-s p-%Y%m%d%H%M-suffix = prefix-201107191732-s p-%Y%m%d%H%M%S-suffix = prefix-20110719173216-s 長所: それは「共通」であるため、「十分」は「最良」よりも優れている可能性があります。 変なキャラクターはいません。 「日付/時刻blob」を他のすべてのものと簡単に区別できます。 短所: 日付のみのバージョンは読みやすくなく、時間を含めると目が出血し、秒も「笑」になります。 TZを想定しています。 ISO-8601-形式 p-%Y-%m-%d-s = p-2011-07-19-s p-%Y-%m-%dT%H:%M%z-s = p-2011-07-19T17:32-0400-s p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T17:32:16-0400-s p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T23:32:16+0200-s 長所: 場所がない。 TZを考慮に入れます。 人間が読むのは「悪くない」(日付のみが良い)。 $(date --iso = …


3
Ubuntu 10.04でlogrotateが実行されるタイミングと方法
私はシステム管理に不慣れで、いくつか質問があります。 システムはlogrotateプロシージャをどこでどのように開始しますか? 「毎日」ローテーションされたログファイルは何時にローテーションされますか? pre.rotateコマンドは、*。logエントリに一致する各ログファイルに対して実行されますか? ありがとうございました
15 ubuntu  logrotate 

1
Linux:ログローテーションによって作成された新しく作成されたログに特定の権限を適用するにはどうすればよいですか?
作成中のメールログは/var/log、root(ユーザーおよびグループ)によって作成および所有されていることに気付きました。ログを監視するNagiosチェックを作成し、Nagiosユーザーがログにアクセスできるようにするために、otherグループに読み取り権限を付与しました。 chmod o+r /var/log/maillog 今考えてみると、これは1つのログファイルに過ぎず、ログファイルがいっぱいになると、ログローテーションメカニズムはこのファイルの名前を変更して新しいファイルを開きますが、新しいmaillogファイルにはread write許可されたものがありません。 だから私の質問は、どのようにログローテーションメカニズムがNagiosユーザーに適切な権限を持つすべての新しいmailllogファイルを作成することを確認できますか? 前もって感謝します

1
logrotateが毎回Apacheにセグメンテーション違反を引き起こすのはなぜですか?
logrotateApache / 2.4.7(Ubuntu)を実行するたびにセグエラーが発生し、再起動しません。 [Wed Sep 10 06:35:54.266018 2014] [mpm_event:notice] [pid 20599:tid 140630283466624] AH00493: SIGUSR1 received. Doing graceful restart [Wed Sep 10 06:35:54.885118 2014] [core:notice] [pid 20599] AH00060: seg fault or similar nasty error detected in the parent process 私のApache logrotateスクリプトは次のようになります: /var/log/apache2/*.log { daily missingok rotate 52 compress delaycompress notifempty create …

4
MySQLは回転後にエラーを新しいファイルに記録しませんか?
問題は解決しましたが、今後の参考のために書き留めています。 /root/.my.cnf [mysqladmin] user = root password = pa$$w0rd /etc/logrotate.d/mysql /var/log/mysql-slow.log /var/log/mysqld.log { daily rotate 7 dateext compress missingok #notifempty sharedscripts create 644 mysql mysql postrotate /usr/bin/mysqladmin flush-logs endscript } logrotate コマンドラインから実行する場合は正常に動作しています: # logrotate -v -f /etc/logrotate.d/mysql しかし、午前4時にcronから実行すると機能しません。ログファイルはローテーションされましたが、MySQLは新しく作成されたファイルにエラーを記録しません。 -rw-r--r-- 1 mysql mysql 0 Aug 7 10:13 /var/log/mysqld.log -rw-r--r-- 1 mysql …
14 mysql  logrotate 

5
.gzログファイルの処理
どこかに抽出する必要なく、.gzログファイルの束を簡単にgrepできる魔法のシェルパイピングがありますか? .gzファイルは、ログローテーションの結果であるApacheログです。特定のURIが過去にアクセスされた頻度をすばやく確認したいと思います。

2
Logrotateは古いログを削除しません
何らかの理由で、古いログファイルは削除されません。Apacheの例 confファイルの内容: $ cat /etc/logrotate.d/apache2 /var/log/apache2/*.log { weekly missingok rotate 2 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript } ログフォルダーの(トリミングされた)コンテンツ: # ls /var/log/apache2/ access.log error.log.26.gz other_vhosts_access.log.20.gz access-ssl.log.14.gz access.log.1 error.log.27.gz other_vhosts_access.log.21.gz access-ssl.log.15.gz access.log.2.gz error.log.28.gz other_vhosts_access.log.22.gz access-ssl.log.16.gz access.log.3.gz error.log.2.gz other_vhosts_access.log.23.gz access-ssl.log.17.gz [...] 実際にはたくさんあります: # ls …
14 linux  logrotate 

2
logrotateを使用してファイルを削除する
実際にローテーションせずにlogrotateを使用して、ディレクトリ内のログファイルを削除することは可能ですか?次の形式でログを生成するアプリがあります:app.log.DD_MM_YYYY。次の構成を使用してlogrotateを実行できません。 /opt/log/app/app.log.* { rotate 0 missingok nomail } ログローテーションはこれを行うことができますか、スクリプトを作成してcron内に配置する必要がありますか? ベスト、-Iulian
13 linux  logrotate 

5
Mongodb-ログを回転させる適切な方法
Mongoのドキュメントでは、次のことができると言っています。 -SIGUSR1シグナルを使用して、古いログの名前を変更し、現在のスイッチを切り替えます OSからlogrotateを使用する OSのlogrotate機能で古いファイルを圧縮して最も古いファイルを削除したいのですが、SIGUSR1を送信する以外にmongodプロセスに現在のログを切り替えるように指示する方法はありません。 だから私は書いた /var/log/mongodb/*.log { daily rotate 5 compress dateext missingok notifempty sharedscripts postrotate /usr/bin/killall -SIGUSR1 mongod /usr/bin/killall -SIGUSR1 mongos endscript } /etc/logrotate.d/mongoに。 そしてmongodb.log.2013-09-18T23-49-44、SIGUSR1切り替えのトレースのように、logrotateから適切な名前のログファイルと空のログファイルを取得します。後者を取り除く方法は?

4
Nginxログをローテーションする適切な方法
私はnginxログのローテーションを達成したい: 余分なソフトウェアなしで動作します(つまり、「logrotate」がなければ最適) 日付に基づいた名前で回転したファイルを作成します 最良のアプローチはPostgreSQLのようなものです。つまり、log_filename構成変数でstrftimeスタイルの%Y-%m-%dを指定でき、ログは日付(または時刻)の変更を自動的に変更します。 Apacheからの別のアプローチ-パイプを介してrotatelogsプログラムにログを送信します。 私が検索できる限り-そのようなアプローチは存在しません。私ができることは、dateextオプションを指定してlogrotateを使用することだけですが、独自の欠点があり、PostgreSQLで| rotatelogsまたはlog_filenameのように機能するものを使用したいのです。

1
ログファイルを手動でローテーションする
Nginxを実行しているUbuntu Webサーバーがあります。ログファイルのローテーションを構成したことがなく、数ギガバイトのモノリシックログファイルを発見したばかりです。 これらのヒントに従って、ログローテーションを構成しました。ただし、ローテーションが発生するまで1週間(ローテーション期間)待たずに済みます。 特定のファイル、またはlogrotate構成で指定されたすべてのファイルのいずれかを直ちに強制的にローテーションする方法はありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.