- 论坛徽章:
- 0
|
回复 #3 味道 的帖子
我的操作系统是solaris 10 , svc:/system/system-log:default 服务也是起的,脚本写完后,我们也做了测试,是正常的,可是一晚上“/ ”空间就全都满了,系统也崩了,我是倒霉透顶了,请大家帮忙看看我的脚本是不是有些问题
设备的log信息存放位置:/var/log/npc。
修改配置文件:/etc/syslog.conf。在配置文件中加入以下的语句(注意,在local.info /var/log/npc之间要用tab键,否则不会生效):
########### below for log information########
local5.info /var/log/npc
建立文件/var/log/npc否则syslog会因为找不到目录而报错。
# > /var/log/npc
保存修改的文件后,重新启动syslogd服务:
#svcadm disable svc:/system/system-log:default
#svcadm enable svc:/system/system-log:default
log文件的备份
编写log文件自动备份的脚本。收集每天log的脚本为newlogmaker,收集每月log的脚本为monthCollector.sh,它们的存放在/usr/sbin/下,同时把这两个脚本设置为可执行:
chmod +x /usr/sbin/newlogmaker
chmod +x /usr/sbin/monthCollector.sh
newlogmaker脚本的功能是每天都产生一个新的log的文件,并把前一天的log备份到目录/var/logback/currentmonth/下,备份的log文件在原来文件名的基础上加上前一天的日期。
#!/bin/bash
#newlogmaker
OLD_LOG_DIR=/var/log/
NEW_LOG_DIR=/var/logback/currentmonth/
LOG_NAME_NPC=npc
cd $OLD_LOG_DIR
test -f $LOG_NAME_NPC && mv $LOG_NAME_NPC ${NEW_LOG_DIR}/${LOG_NAME_NPC}_`date +%Y_%m_%d`
cat /dev/null > $LOG_NAME_NPC
chmod 755 $LOG_NAME_NPC
monthCollector.sh在每个月末收集本月的log信息,产生包含上个月信息的目录
#!/bin/bash
#monthColletor.sh
OLD_LOG_DIR=/var/logback/currentmonth/
NEW_LOG_DIR=/var/logback/
LOG_NAME_NPC=npc
month=`date +%m`
echo month=$month
year=`date +%Y`
mkdir -p $NEW_LOG_DIR$year"/"$month
chmod 755 $NEW_LOG_DIR$year"/"$month
cd $OLD_LOG_DIR
mv * $NEW_LOG_DIR$year"/"$month
然后,让cron进程自动备份log文件。
Crontab –e
57 23 * * * svcadm disable svc:/system/system-log:default
58 23 * * * /usr/sbin/newlogmaker
59 23 * * * svcadm enable svc:/system/system-log:default
59 23 28,29,30,31 * * /usr/sbin/monthCollector.shr |
|