logrotate(ログ管理の変更)
もともと玄箱のOS:MontaVistaLinuxはNAS用にメルコ(現バッファロー)様がカスタマイズしたものです。
なので、サーバー用途にはいろいろ不都合な点があったりします。
たとえば、このログ管理方法。
純正の設定では「1日ごとにローテーションして、過去1日分のみ保存」という、
これまた男らしい設定になってます。
このままでは何かあったときにちょっと不都合なので、
保存期間やローテーションタイミングを変更していきます。
「MontaVistaLinux」
組み込み用のOSで内容的にはdebianっぽいLinuxです。
メルコがカスタマイズした(LinkStation用)のを急造仕様で玄箱用にしてあるらしいです。
まぁ、私がLinuxのディストリビュージョンのことを話すのはナンセンスってことで・・・m(_.._)m
やること一覧 ・logrotateについて ・logrotateの設定ファイルを編集:Stray Penguin - Linux Memo (logrotate) ・残骸整理
ログをローテーションするソフト(?)
基本的に単体では使われず、cronというスケジュール管理デーモンに呼び出されて初めて動作する。
なので、動作タイミングについてはcronの設定による。
ちなみに玄箱で有効になっているcronの動作タイミングは、
ということで、ログローテーションの管理は/etc/logrotate.dで行っている。
なので、その中の設定ファイルを弄る。
まぁ、参考サイトを参照して書き換えるだけですが・・・
弄る方針
httpd ┃/opt/apache2/logs/*_log { ┃ weekly ┃ rotate 4 ┃ missingok ┃# notifempty ┃ sharedscripts ┃ copytruncate ┃ delaycompress ┃ olddir /opt/apache2/logs/old ┃ postrotate ┃ /etc/init.d/httpd restart ┃# EXT=`date +%Y%m%d` ┃# for f in $1; ┃# do mv $f.1 $f.$EXT; ┃# done ┃ endscript ┃} proftpd ┃/opt/proftpd/var/*.log { ┃ weekly ┃ rotate 4 ┃ missingok ┃# notifempty ┃ sharedscripts ┃ copytruncate ┃ delaycompress ┃ olddir /opt/proftpd/var/old ┃# postrotate ┃# /sbin/killall -s HUP syslogd ┃# endscript ┃} samba ┃/var/log/samba/samba.log { ┃ notifempty ┃ missingok ┃ sharedscripts ┃ copytruncate ┃ postrotate ┃ /sbin/killall -s HUP smbd ┃ endscript ┃} ┃ ┃/var/log/log.smbd /var/log/log.nmbd { ┃ rotate 7 ┃ notifempty ┃ missingok ┃ delaycompress ┃ olddir /var/log/old ┃ sharedscripts ┃ copytruncate ┃ postrotate ┃ /sbin/killall -s HUP smbd ┃ /sbin/killall -s HUP nmbd ┃ endscript ┃} syslog ┃/var/log/messages /var/log/secure /var/log/spooler /var/log/boot.log /var/log/cron { ┃ rotate 7 ┃ notifempty ┃ delaycompress ┃ olddir /var/log/old ┃ sharedscripts ┃ postrotate ┃ /sbin/killall -s HUP syslogd ┃ endscript ┃} thttpd ┃/var/log/thttpd.log { ┃ rotate 7 ┃ notifempty ┃ missingok ┃ delaycompress ┃ olddir /var/log/old ┃ postrotate ┃ /sbin/killall -s HUP thttpd ┃ endscript ┃} weekly ┃/var/log/sshd.log /var/log/freshclam.log /var/log/auth.log /var/log/maillog { ┃ weekly ┃ rotate 4 ┃ missingok ┃ notifempty ┃ sharedscripts ┃ copytruncate ┃ delaycompress ┃ olddir /var/log/old ┃ postrotate ┃ /sbin/killall -s HUP syslogd ┃ endscript ┃}「弄る方針」
上記の設定だと過去ログは元の場所の下にoldというディレクトリを作って、そこにまとめている。
まがりなりにも取っていた過去ログ(1日分)も整理する。
[/var/log]/oldを作成
# cd [/var/log] # mkdir old過去ログを移動
# mv *.gz ./old/以上。
戻るなら押せ!