Oracle® Solaris 11.2 でのシステム管理のトラブルシューティング

印刷ビューの終了

更新: 2014 年 9 月
 
 

システムログローテーション

システムログファイルは、root の crontab ファイルのエントリから logadm コマンドによって実行されます。/usr/lib/newsyslog スクリプトは使用されません。

このシステムログローテーションは、/etc/logadm.conf ファイルに定義されます。このファイルには、syslogd などのプロセスのログローテーションエントリが含まれています。たとえば、/etc/logadm.conf ファイルにある 1 つのエントリは、/var/log/syslog ファイルが空でなければローテーションが毎週実行されることを示しています。つまり、最新の syslog ファイルが syslog.0 になり、その次に新しい syslog ファイルが syslog.1 になります。最新からさかのぼって 8 つまでの syslog ログファイルが保存されます。

また、/etc/logadm.conf ファイルには、最後のログローテーション実行時のタイムスタンプも含まれます。

logadm コマンドを使用して、必要に応じてシステムログをカスタマイズしたり、/etc/logadm.conf ファイルにログを追加したりすることができます。

たとえば、Apache アクセスとエラーログのローテーションを実行するには、次のコマンドを使用します。

# logadm -w /var/apache/logs/access_log -s 100m
# logadm -w /var/apache/logs/error_log -s 10m

この例では、Apache の access_log ファイルのローテーションは、そのサイズが 100M バイトに達したときに実行され、そのファイル名に .0 .1 などのように接尾辞が付けられます。また、古い access_log ファイルのコピーが 10 個保存されます。また、error_log のローテーションは、そのサイズが 10M バイトに達したときに実行され、access_log ファイルと同様に、接尾辞が付けられ、コピーが保存されます。

前述の Apache ログローテーションの例における /etc/logadm.conf エントリの例は、次のようになります。

# cat /etc/logadm.conf
.
.
.
/var/apache/logs/error_log -s 10m
/var/apache/logs/access_log -s 100m

詳細は、logadm(1M) を参照してください。

root 以外のユーザーにログファイルを管理する権限を付与する場合は、そのユーザーの権利プロファイルとしてログ管理を付与できます。useradd コマンド (新規ユーザー用) または usermod コマンド (既存ユーザー用) のいずれかで –P オプションを使用することで、その付与を実行できます。手順については、 useradd (1M) および usermod (1M) のマニュアルページを参照してください。