获取两天内的告警日志(AIX|ksh|shell|oracle)
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,#!/usr/bin/ksh#author: Rui Zhang#date: 2017-08-09#email: sharpzhang_2008@126.comexport LANG=en_US.UT
千家信息网最后更新 2025年12月01日获取两天内的告警日志(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安全错误
数据库的锁怎样保障安全
邢台抖音直播网络安全观后感
无线网络技术分为哪两类
残疾人数据库管理系统
数据库破解版
机要局网络技术
web服务器在哪
淮安软件开发价格
医院网络安全管理措施
导航有时无法连接服务器
教师掌握网络技术的好处
在哪里管理数据库的权限
学习软件开发与制造计划
腾讯云轻量应用服务器有多少流量
网络安全整改通知模板
sql数据库工程师证书样本
网络技术公司经营范围
力控科技与移动互联网
淄博电商软件开发公司
服务器解压zip
怎么用云服务器登陆亚马逊
潜渊症重连服务器
网络技术研发的英文缩写
云服务器太贵
万方数据库看文章都要付费吗
网络安全应急公文标题
数据库参数配置说明
东欧计划软件开发
exploit漏洞数据库
车车网络技术公司牛书亮
数据库灰度发布