Linux + 古いログファイルを自動的に圧縮する方法

Linux + 古いログファイルを自動的に圧縮する方法

フォルダの下に/var/log/httpd膨大な容量のファイルが作成されました!

この問題を処理できる古いファイルを自動的に圧縮するには、どのソリューションを使用できますかlogrotate

それでは、そのフォルダの下の古いファイルを圧縮するようにLinuxシステムをどのように設定できますか?

2番目の質問:これらのファイルはどういう意味ですか?

  13:16:50 root@BillGates-Machine:/var/log/httpd # ls -ltr
  -rw-r--r-- 1 root root      7612 Jan 30 05:51 ssl_error_log-20160131
  -rw-r--r-- 1 root root  16170199 Jan 31 03:29 ssl_request_log-20160131
  -rw-r--r-- 1 root root  14677353 Jan 31 03:29 ssl_access_log-20160131
  -rw-r--r-- 1 root root 425621646 Jan 31 03:38 access_log-20160131
  -rw-r--r-- 1 root root     77267 Jan 31 03:38 error_log-20160131
  -rw-r--r-- 1 root root     11233 Feb  7 03:43 ssl_error_log-20160207
  -rw-r--r-- 1 root root  16398688 Feb  7 03:44 ssl_request_log-20160207
  -rw-r--r-- 1 root root  14867381 Feb  7 03:44 ssl_access_log-20160207
  -rw-r--r-- 1 root root 471057664 Feb  7 03:48 access_log-20160207
  -rw-r--r-- 1 root root    101611 Feb  7 03:48 error_log-20160207

ベストアンサー1

logrotate回転するファイルを圧縮することは可能ですが、アプリケーションによって作成されたログファイル名が静的でない場合(ここでのようにファイル名に日付サフィックスがあるため)、正しく機能しません。これは、日付サフィックスを含めないように(つまり、書き込みのみを行うために)HTTPサーバー(Apache?)を再構成する場合にaccess_log機能します。error_loglogrotate以下は、このように構成する方法を示すサンプルソリューションです。

これは、ログファイルの命名スキームを維持したい場合でも解決策があるもう1つの関連質問です。logrotateを使用せずに操作を実行するカスタムスクリプトを使用します。

簡単に言えば、これらのファイルの意味は次のとおりです。

  • access_log:一般的なHTTPリクエストの成功
  • error_log:エラーが発生した純粋なHTTPリクエスト
  • ssl_request_log:成功したHTTPSリクエスト
  • ssl_error_log:エラーが発生したHTTPSリクエスト

(もちろん、構成がこのロジックから外れる可能性があります)

おすすめ記事