RedHatのOSログを退避するバッチプログラム
0.改訂履歴
- 2007.03.26 新規作成
1.はじめに
このドキュメントでは,Redhat linuxにて,OSログファイルを定期的に掃除するためのプログラムを説明する. このプログラムでは,OSログファイルにファイル名を付けて,指定されたディレクトリに移動させる.よって,定期的にそのディレクトリの中身を退避させる必要がある. ここで目的にしているのは,ログファイルを消さずにバックアップする為の汎用的なプログラムを目指していることである.
なお,使用しているOSは,RedHat Linux ES上で稼働している.
2.スクリプト.
- 以下のようなプログラム.
[root@mercury admin]# cat OSlogBackupV2.sh #!/bin/bash AA=1 NOW_DATE=`date +%Y%m%d` HOSTNAME=`hostname` for BACKUP_FILE in snmpd.log up2date boot.log ksyms messages secure wtmp cron maillog rpmpkgs spooler do if [ -e /var/log/$BACKUP_FILE.$AA ]; then mv /var/log/$BACKUP_FILE.$AA /backup/OS_log/$HOSTNAME.$NOW_DATE.$BACKUP_FILE gzip /backup/OS_log/$HOSTNAME.$NOW_DATE.$BACKUP_FILE fi done [root@mercury admin]# |
- このスクリプトでは,for文の後に指定されたファイル名を,指定してファイルを移動して圧縮をしている.
- たとえば,snmpd.logを指定すると,ファイル名/var/log/snmpd.log.1が存在するかを確認し,ファイルがあれば移動して圧縮となる.