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

logrotateをインストールして使用し、Ubuntu18.04LTSでログファイルを管理する方法

ログファイルはLinuxシステムのセキュリティにとって最も重要です。 logrotateツールは、Linuxシステムでのログファイルの管理を簡素化するように特別に設計されており、ログファイルの自動ローテーション、圧縮、削除、およびメール送信が可能です。ログファイルを毎日、毎週、毎月処理するようにlogrotateを簡単に設定できます。システムから最も古いログファイルを削除し、新しいログファイルを作成することにより、ログファイルをローテーションするために使用されるlogrotateプログラム。

このチュートリアルでは、logrotateを使用してUbuntu18.04サーバーでログを管理する方法を説明します。

要件
  • Ubuntu18.04サーバーを実行しているサーバー。
  • sudo権限を持つroot以外のユーザー。

Logrotateをインストール

デフォルトでは、logrotateはUbuntu18.04LTSサーバーで使用できます。そうでない場合は、次のコマンドを実行してインストールできます。

sudo apt-get install logrotate -y

logrotateをインストールしたら、次のコマンドを使用してlogrotateのバージョンを確認できます。

sudo logrotate

出力:

logrotate 3.11.0 - Copyright (C) 1995-2001 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License

Usage: logrotate [-dfv?] [-d|--debug] [-f|--force] [-m|--mail=command]
        [-s|--state=statefile] [-v|--verbose] [-l|--log=STRING] [--version]
        [-?|--help] [--usage] [OPTION...] 

Logrotateを構成する

デフォルトでは、logrotateのメイン構成ファイルlogrotate.confは/etc/logrotate.confにあります。その他の構成ファイルは、/ etc/logrotate.dにあります。次のコマンドでそれらを一覧表示できます:

ls /etc/logrotate.d

出力:

alternatives  apport  dpkg  mysql-server  rsyslog  unattended-upgrades
apache2       apt     lxd   openproject   ufw

logrotateの主なオプションを以下に示します。

ミッシングコック :ログが欠落している場合でもエラーを発生させないでください

毎週 :ログファイルを週に1回ローテーションします

作成 :古いファイルは新しい名前で保存され、新しいファイルが作成されます

圧縮 :logrotategzipを使用してログファイルを圧縮してスペースを節約

回転 4 :logrotateは、指定されたログを削除する前に4回ローテーションするため、4週間のログをオンラインに保ちます

空に通知 :ログファイルが空のときにローテーションしないでください

デフォルトでは、logrotateは、シェルスクリプト/etc/cron.daily/logrotateを実行することによって毎日実行されます。次のコマンドを実行して、apacheログローテーションをテストしてみましょう。

sudo logrotate -d /etc/logrotate.d/apache2

出力:

reading config file /etc/logrotate.d/apache2
Reading state from file: /var/lib/logrotate/status
Allocating hash table for state file, size 64 entries

Handling 1 logs

rotating pattern: /var/log/apache2/*.log  after 1 days (14 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/apache2/access.log
Creating new state
  Now: 2018-10-11 16:04
  Last rotated at 2018-10-11 16:00
  log does not need rotating (log has been already rotated)
considering log /var/log/apache2/error.log
Creating new state
  Now: 2018-10-11 16:04
  Last rotated at 2018-10-11 16:00
  log does not need rotating (log has been already rotated)
considering log /var/log/apache2/other_vhosts_access.log
Creating new state
  Now: 2018-10-11 16:04
  Last rotated at 2018-10-11 16:00
  log does not need rotating (log has been already rotated)
not running prerotate script, since no logs will be rotated
not running postrotate script, since no logs were rotated

デフォルトでは、logrotateは毎日のcronジョブとして実行されます。 cronジョブの詳細については、/ etc / cron.daily/logrotateを確認してください。 logrotateのcronジョブを、1時間ごと、1週間ごと、1年ごとに実行するように構成することもできます。


Ubuntu
  1. Ubuntu16.04LTSにiostatをインストールして使用する方法

  2. Ubuntu20.04LTSにTelnetをインストールして使用する方法

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

  1. Ubuntu20.04にWineをインストールして使用する方法

  2. Ubuntu18.04LTSにsosreportをインストールして使用する方法

  3. Logrotateを使用してUbuntuでログを管理する方法

  1. Ubuntu18.04にFFmpegをインストールして使用する方法

  2. Ubuntu18.04にWineをインストールして使用する方法

  3. Ubuntu16.04LTSにLnavLogViewerをインストールして使用する方法