GNU/Linux >> Linux の 問題 >  >> Linux

Logrotate:非ログ ファイルをローテーションしますか?

解決策 1:

プロセスを変更しないと、logrotate だけでは、ここで探していることは実行されません。ここでの重要な問題は、logrotate はワイルドカードを使用できますが、ワイルドカードを使用してもファイルを 1 つとして扱わず、代わりにすべてのファイルを個別にローテーションしようとすることです。これは絶対に望んでいないことです。

ただし、最新のバックアップが日付スタンプなしで作成されている限り、説明した方法で機能させることができます.バックアップ プロセスが /root/backup.tar.gz を作成する場合 たとえば、次の logrotate 構成を使用できます:

/root/backup.tar.gz {
    rotate 5
    nocompress
    dateext
    dateformat _%Y-%m-%d
    extension .tar.gz
    missingok
}

オプションの概要はこちら:

  • rotate 5 -- 削除する前に 5 回のローテーションを維持してください
  • nocompress -- 回転後にファイルを圧縮しません
  • dateext -- 数値をインクリメントする代わりに、ローテーションの拡張として日付を使用します
  • dateformat _%Y-%m-%d -- 使用する日付拡張形式を設定します
  • extension .tar.gz -- .tar.gz にします ローテーション延長の後に来る
  • missingok -- ローテーションしたいファイルが存在しない場合は、気にせずに先に進みます (デフォルトではエラーがスローされます)。

これがお役に立てば幸いです!

解決策 2:

これを行うために logrotate を使用する必要はありません。次のようなコマンドを使用してください:

ls -1 /root/backup_* | sort -r | tail -n +6 | xargs rm > /dev/null 2>&1

このコマンドは、最新の 5 つのファイルを残し、残り (存在する場合) を削除します。 cron ジョブで使用できます。

解決策 3:

Logrotate はファイルをローテーションするため、答えは「はい」です。おそらく、十分な権限がない場合は、ファイルを /backup などに配置します。ローテーションされたログのグループとユーザーを確認してください:-)。

「圧縮」が構成されていない場合、logrotate には圧縮のオプションがあります。また、あなたの場合、「5回転」オプション。

/etc/logrotate.d (またはシステムに保存されている場所) を見てください


Linux
  1. 区切り文字なしでファイルを貼り付けますか?

  2. 最大のファイルを再帰的に検索しますか?

  3. Logrotateに開いているファイルを無視するように指示する方法は?

  1. .o ファイルと .a ファイル

  2. wc gzipファイル?

  3. logrotate:N 個の最新のファイルを保持しますが、名前は変更しません

  1. LinuxでLogrotateを使用してログファイルを管理する方法

  2. Grep:メモリが使い果たされましたか?

  3. logrotate でファイルを削除する