获取两天内的告警日志(AIX|ksh|shell|oracle)
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,#!/usr/bin/ksh#author: Rui Zhang#date: 2017-08-09#email: sharpzhang_2008@126.comexport LANG=en_US.UT
千家信息网最后更新 2026年10月31日获取两天内的告警日志(AIX|ksh|shell|oracle)#!/usr/bin/ksh
#author: Rui Zhang
#date: 2017-08-09
#email: sharpzhang_2008@126.com
export LANG=en_US.UTF-8
dir_name=/tmp/tday_log/
log_name=/tmp/tday_log/tday_log_`date +'%F'`
log_name=/tmp/tday_log/10.4.57.129_tday_`date +'%F'`.log
yday=`TZ=aaa24 date +'%a %b %d '`
tday=`date +'%a %b %d '`
yday_num=`TZ=aaa24 date +'%F'`
tday_num=`date +'%F'`
yday_md=`TZ=aaa24 date +'%m%d'`.*`TZ=aaa24 date +'%y'`
tday_md=`date +'%m%d'`.*`date +'%y'`
yday_lis=`TZ=aaa24 date +'%d-%b-%Y ' | tr '[a-z]' '[A-Z]'`
tday_lis=`date +'%d-%b-%Y ' | tr '[a-z]' '[A-Z]'`
if [ ! -d "$dir_name" ];then
mkdir -p $dir_name
fi
if [ -f "$log_name" ];then
rm -f $log_name
fi
echo "###########################/var/log/messages################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
errpt | head -1 >> $log_name
errpt | egrep "${yday_md}|${tday_md}" >> $log_name
#egrep "Jul\ 3|Jul\ 2" /var/log/messages >> $log_name
echo "" >> $log_name
function chk_db_log {
file_name=$1
count_1=0
while read line
do
# count_1=$[$count_1+1];
let count_1+=1
day_mid=$(echo "$line" | egrep "${yday}|${tday}")
if [[ -n $day_mid ]];then
break
fi
done <$file_name
count_3=`wc -l ${file_name} |awk {'print $1'}`
if [ "$count_1" = "$count_3" ];then
# count_1=$[$count_1+1];
let count_1+=1
fi
echo "当前指针位置:${count_1} 文件行数:${count_3} 文件名:${file_name}"
count_2=0
while read line
do
# count_2=$[$count_2+1]
let count_2+=1
if (($count_2>=count_1));then
echo "$line" >>$log_name
fi
done <$file_name
echo "" >> $log_name
}
function chk_grid_log {
file_name=$1
count_1=0
while read line
do
# count_1=$[$count_1+1];
let count_1+=1
day_mid=$(echo "$line" | egrep "${yday_num}|${tday_num}")
if [[ -n $day_mid ]];then
break
fi
# echo $line
#echo $count_1
#done <'/u01/app/oracle/diag/rdbms/test/test1/trace/alert_test1.log'
done <$file_name
#echo $count_1
count_3=`wc -l ${file_name} |awk {'print $1'}`
if [ "$count_1" = "$count_3" ];then
# count_1=$[$count_1+1];
let count_1+=1
fi
echo "当前指针位置:${count_1} 文件行数:${count_3} 文件名:${file_name}"
count_2=0
while read line
do
# count_2=$[$count_2+1]
let count_2+=1
if (($count_2>=count_1));then
echo "$line" >>$log_name
fi
#done <'/u01/app/oracle/diag/rdbms/test/test1/trace/alert_test1.log'
done <$file_name
echo "" >> $log_name
}
function chk_listener_log {
file_name=$1
count_1=0
while read line
do
# count_1=$[$count_1+1];
let count_1+=1
day_mid=$(echo "$line" | egrep "${yday_lis}|${tday_lis}")
if [[ -n $day_mid ]];then
break
fi
# echo $line
#echo $count_1
#done <'/u01/app/oracle/diag/rdbms/test/test1/trace/alert_test1.log'
done <$file_name
#echo $count_1
count_3=`wc -l ${file_name} |awk {'print $1'}`
if [ "$count_1" = "$count_3" ];then
# count_1=$[$count_1+1];
let count_1+=1
fi
echo "当前指针位置:${count_1} 文件行数:${count_3} 文件名:${file_name}"
count_2=0
while read line
do
# count_2=$[$count_2+1]
let count_2+=1
if (($count_2>=count_1));then
echo "$line" >>$log_name
fi
#done <'/u01/app/oracle/diag/rdbms/test/test1/trace/alert_test1.log'
done <$file_name
echo "" >> $log_name
}
#echo $count_1
echo "############################db_log##########################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
chk_db_log /u01/app/oracle/diag/rdbms/ebiz/ebiz1/trace/alert_ebiz1.log
echo "############################asm_log#########################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
chk_db_log /u01/app/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log
echo "############################grid_log########################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
chk_grid_log /u01/app/11.2.0.3/grid/log/ecpdb1/alertecpdb1.log
echo "########################listener_log########################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
##############11g###########################
chk_grid_log /u01/app/grid/diag/tnslsnr/ecpdb1/listener/alert/log.xml
##############11g###########################
##############10g###########################
#chk_listener_log /u01/app/oracle/diag/tnslsnr/zhangr/listener/trace/listener.log
##############10g###########################
#author: Rui Zhang
#date: 2017-08-09
#email: sharpzhang_2008@126.com
export LANG=en_US.UTF-8
dir_name=/tmp/tday_log/
log_name=/tmp/tday_log/tday_log_`date +'%F'`
log_name=/tmp/tday_log/10.4.57.129_tday_`date +'%F'`.log
yday=`TZ=aaa24 date +'%a %b %d '`
tday=`date +'%a %b %d '`
yday_num=`TZ=aaa24 date +'%F'`
tday_num=`date +'%F'`
yday_md=`TZ=aaa24 date +'%m%d'`.*`TZ=aaa24 date +'%y'`
tday_md=`date +'%m%d'`.*`date +'%y'`
yday_lis=`TZ=aaa24 date +'%d-%b-%Y ' | tr '[a-z]' '[A-Z]'`
tday_lis=`date +'%d-%b-%Y ' | tr '[a-z]' '[A-Z]'`
if [ ! -d "$dir_name" ];then
mkdir -p $dir_name
fi
if [ -f "$log_name" ];then
rm -f $log_name
fi
echo "###########################/var/log/messages################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
errpt | head -1 >> $log_name
errpt | egrep "${yday_md}|${tday_md}" >> $log_name
#egrep "Jul\ 3|Jul\ 2" /var/log/messages >> $log_name
echo "" >> $log_name
function chk_db_log {
file_name=$1
count_1=0
while read line
do
# count_1=$[$count_1+1];
let count_1+=1
day_mid=$(echo "$line" | egrep "${yday}|${tday}")
if [[ -n $day_mid ]];then
break
fi
done <$file_name
count_3=`wc -l ${file_name} |awk {'print $1'}`
if [ "$count_1" = "$count_3" ];then
# count_1=$[$count_1+1];
let count_1+=1
fi
echo "当前指针位置:${count_1} 文件行数:${count_3} 文件名:${file_name}"
count_2=0
while read line
do
# count_2=$[$count_2+1]
let count_2+=1
if (($count_2>=count_1));then
echo "$line" >>$log_name
fi
done <$file_name
echo "" >> $log_name
}
function chk_grid_log {
file_name=$1
count_1=0
while read line
do
# count_1=$[$count_1+1];
let count_1+=1
day_mid=$(echo "$line" | egrep "${yday_num}|${tday_num}")
if [[ -n $day_mid ]];then
break
fi
# echo $line
#echo $count_1
#done <'/u01/app/oracle/diag/rdbms/test/test1/trace/alert_test1.log'
done <$file_name
#echo $count_1
count_3=`wc -l ${file_name} |awk {'print $1'}`
if [ "$count_1" = "$count_3" ];then
# count_1=$[$count_1+1];
let count_1+=1
fi
echo "当前指针位置:${count_1} 文件行数:${count_3} 文件名:${file_name}"
count_2=0
while read line
do
# count_2=$[$count_2+1]
let count_2+=1
if (($count_2>=count_1));then
echo "$line" >>$log_name
fi
#done <'/u01/app/oracle/diag/rdbms/test/test1/trace/alert_test1.log'
done <$file_name
echo "" >> $log_name
}
function chk_listener_log {
file_name=$1
count_1=0
while read line
do
# count_1=$[$count_1+1];
let count_1+=1
day_mid=$(echo "$line" | egrep "${yday_lis}|${tday_lis}")
if [[ -n $day_mid ]];then
break
fi
# echo $line
#echo $count_1
#done <'/u01/app/oracle/diag/rdbms/test/test1/trace/alert_test1.log'
done <$file_name
#echo $count_1
count_3=`wc -l ${file_name} |awk {'print $1'}`
if [ "$count_1" = "$count_3" ];then
# count_1=$[$count_1+1];
let count_1+=1
fi
echo "当前指针位置:${count_1} 文件行数:${count_3} 文件名:${file_name}"
count_2=0
while read line
do
# count_2=$[$count_2+1]
let count_2+=1
if (($count_2>=count_1));then
echo "$line" >>$log_name
fi
#done <'/u01/app/oracle/diag/rdbms/test/test1/trace/alert_test1.log'
done <$file_name
echo "" >> $log_name
}
#echo $count_1
echo "############################db_log##########################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
chk_db_log /u01/app/oracle/diag/rdbms/ebiz/ebiz1/trace/alert_ebiz1.log
echo "############################asm_log#########################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
chk_db_log /u01/app/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log
echo "############################grid_log########################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
chk_grid_log /u01/app/11.2.0.3/grid/log/ecpdb1/alertecpdb1.log
echo "########################listener_log########################################" >> $log_name
echo "" >> $log_name
echo "" >> $log_name
##############11g###########################
chk_grid_log /u01/app/grid/diag/tnslsnr/ecpdb1/listener/alert/log.xml
##############11g###########################
##############10g###########################
#chk_listener_log /u01/app/oracle/diag/tnslsnr/zhangr/listener/trace/listener.log
##############10g###########################
文件
位置
指针
文件名
日志
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技企业
北京路客互联网科技有限公司
为想互联网科技怎么样
互联网科技开发公司
互联网科技金融
唐信互联网科技
融贸通互联网科技
互联网科技的未来发展
互联网科技公司名称
互联网科技大会案例
青海省互联网新科技
深圳国际航运科技和互联网
现代互联网科技股
996高科技互联网公司
互联网公司高科技产品
黑云互联网科技有限公司
工业互联网科技成果转化
扫呗互联网科技有限公司
济南小医互联网科技有限公司招聘
银川新华互联网科技学校招聘
奇酷互联网络科技
苏州互联网科技贷款公司
富国互联网科技创新基金
栖莱科技互联网股份有限公司
千方科技属于互联网企业吗
中国互联网有什么科技
浙南科技城互联网大厦招聘
本届互联网大会上的黑科技
互联网对科技影响
恒生科技互联网指数十大成分股