スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

1ファイルのサイズが大きくなってきたaccess_logを分割出力させる

前回や、前々回の記事のように、access_logを確認しています。
まぁ、Webサーバ立ち上げたばかりなので、楽しくて見ているのですが・・・

情報発信は自宅から!低予算自宅サーバ奮闘メモ Googlebot襲来をリアルタイムに確認!
情報発信は自宅から!低予算自宅サーバ奮闘メモ Googlebotは仕事が早い。1日目のアクセスログ分析結果。

あることに気が付きました。

access_logのファイルサイズが1Mbyte近くにまでなっています。このままじゃ、Webサーバにアクセスされたときの負荷が大きくなる・・・。

Apacheの初期設定では、同じログファイル(acccess_log)に書き込むように設定されているようです。
次のファイルを修正することで、ログを日毎に分割してやります。

/etc/logrotate.d/httpd


開くと↓
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
daily
rotate 30
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}


これに、日毎であるdailyと無限にファイルを生成されても困るので、30ファイルをローテーションの回数を決めるやります→rotate 30

書き換えるとこのようになります↓

/var/log/httpd/*log {
missingok
notifempty
sharedscripts
daily
rotate 30
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}


ファイルを保存して、Apacheを再起動してやれば適用されます。
他には、以下のようなコマンドがあります。

コマンド内容
daily毎日
weekly毎週
monthly毎月
rotate指定した回数ローテーション(いくつログファイルを残すか)rotate[ローテーション回数]
compressログをgzipで圧縮
nocompress圧縮しない
ifemptyログファイルが空の場合でもローテーション
notifemptyログファイルが空の場合ローテーションしない
missingokログファイルが存在しない場合にエラーを出力しない
nomissingokログファイルが存在しない場合にエラーを出力
postrotateendscriptとの間に書いたコマンドをローテーション後に実行
prerotateendscriptとの間に書いたコマンドをローテーション前に実行
sizeログファイルが指定サイズ以上の場合ローテーション。書式:size[ファイルサイズ]
sharedscriptsログファイルを複数指定した場合、それぞれpostrotate、prerotate内のコマンドを実行
createローテーション後、空のログファイルを作成。書式:create[パーミッション][ユーザ名][グループ名]で権限の指定可能
nocreate空のログファイルを作成しない
olddir指定したディレクトリにローテーションしたログを保存。書式:olddir[ディレクトリ名]
noolddir元と同じディレクトリにローテーションしたログを保存
このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

プロフィール

白鯖

Author:白鯖
安い寄せ集めの部品で構築し、CentOS5をインストールしました。主に、Webサーバ、アプリケーションサーバとして運用中。ハードの知識はあまり無いプログラマですが、全部自前で作るのは、手間はかかるけど、レン鯖より面白いです。

ハードウェア構成

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
Max TDP控え目なCPU
安くて静音なクーラー
検索フォーム
ユーザータグ
RSSフィード
はてな
スポンサード リンク
おすすめ書籍
twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。