2009年5月20日

[Perl] 網管程式 - 自動檢查log檔並備份

Perl 程式如下,把程式加到 crontab 內,即可自動檢查 log 檔,大於一定程度後,執行備份壓縮並把log清空

#!/usr/bin/perl

$now = `date +%Y%m%d_%H%M`;
chomp($now);
$logname = "$now".".tgz";

#User Define
#50MB
$logsize = "51200k";
#monitor log path or file
$logpath = "/oracle/admin/IMSBKDB/bdump/alert_IMSBKDB.log";
$found = `/usr/bin/find $logpath -size +$logsize -print`;
chomp($found);
if ($found) {
print "$found => tar\n";
#alert_IMSBKDB.log bigger than 50MB, backup and cp /dev/null for it
`/usr/bin/find $logpath -size +$logsize -exec /bin/tar zcvf /oracle/admin/IMSBKDB/bdump/backup/$logname {} \\;`;
sleep 1;
`cp /dev/null $logpath`;
} else {
print "do nothing\n";
}

2009年5月11日

tar on the fly & compress

tar cvf - directory_name | gzip -9 -c | ssh taiwanwolf@file_server_IP "cat > /home/taiwanwolf/CDR_200905.tgz"

2009年5月6日

利用SNMP查詢監控遠端主機硬碟空間

在遠端主機的 /etc/snmp/snmpd.conf 加入
disk / 100000
disk /boot 100000
等等要監控的mount point,存檔離開

service snmpd restart

在網管主機下
snmpdf -v 2c -c public -Cu remote_IP

即可出現下列資訊,配合 grep, awk等表示法,就可做成監控程式了
Description size (kB) Used Available Used%
/ 472474368 284001024 188473344 60%
/boot 101086 23836 77250 23%
這個小工具發生錯誤