Linux/hp unix/AIX日常巡检脚本(转)
以下为Linux/hp unix/AIX日常巡检脚本,大家可以参考着进行改写,用于自己的服务器。
#!/usr/bin/ksh
syserrdate=`date +"%m/%d"`
errcount=0
STATUS=
HOSTS=`hostname`
SCRIPT=`basename $0`
REPORT="/tmp/report.txt"
#FS percent
FILESYSTEM_CHECK() {
FS=`df -k|sed '1d'|awk 'sub("%","",$4) {if ($4 > 80) print $7}'|xargs`
for i in $FS
do
echo "The $i filesystem percent more than %80 n"
done
}
#Active VG
VG_CHECK() {
echo "****************************ACTIVE VG****************************n"
ACVG=`lsvg -o|xargs`
echo "Active VG is: $ACVGn"
#LV_CHECK
echo "***************************PROBLEM LV****************************n"
BLV=`lsvg -l rootvg|grep -E "jfs|jfs2|raw"|grep -v 'N/A'|awk '{if ($6~/closed/ || $6~/stale/) print $1}'|xargs`
for i in $BLV
do
echo "The $i filesystem has a problem!!!n"
done
}
#Problem disk
DISK_CHECK() {
echo "***************************Problem disk***************************n"
disk=`lsvg -o|lsvg -ip|awk '$1~/hdisk/ && $2!~/active/ {print $1}'|xargs`
if [ "$disk" != "" ]
then
for i in $disk
do
echo "The $disk in $i has a problem!!!n"
done
fi
}
#error report
ERROR_CHECK() {
echo "***************************error report***************************n"
errdate=`errpt |grep -v IDENTIFIER |awk '{print $2}' |cut -c 1-4 |xargs`
for syserrFor1 in $errdate
do
if [ "$syserrFor1" = "$syserrdate" ]
then
newerrcount=`expr $errcount + 1`
errcount=$newerrcount
fi
done
if [ "$errcount" -eq 0 ]
then
echo "Today error is add $errcount yesterdayn"
else
echo "Today errors is add $errcount than yesterdayn"
fi
#error detail
errors=`errpt -dH -TPERM`
if [ -z "$errors" ]
then
echo "The Hardware is ${STATUS:-NORMAL}.n"
else
echo "The permanent error of Hardware as fllow:n`errpt -dH -TPERM`"
fi
}
#Check Database
DB_CHECK() {
su - oracle -c "lsnrctl status"|grep -i "no listener"
if [ $? = 1 ]
then
echo "The listener status is ${STATUS:-NORMAL}n"
else
echo "The listener has a problem!!!n"
fi
#echo "The listener status is :`su - oracle -c "lsnrctl status"`n"
#echo "Database status is:"
#su - oracle -c "sqlplus -s /nolog"<<EOF|sed '/^$/d'
#conn /as sysdba
#select log_mode,name,open_mode from v$database;
#quit
#EOF
su - oracle -c "sqlplus -s /nolog"<<EOF|sed '/^$/d' 2>/dev/null|grep -i "ORACLE not avail
able"
conn /as sysdba
select log_mode,name,open_mode from v$database;
quit
EOF
if [ $? = 0 ]
then
echo "The database not available!!!n"
else
echo "The database is NORMALn"
fi
}
#HBA card link
HARDWARE_CHECK() {
fget_config -Av|grep -i dacnone>>/dev/null
if [ $? -eq 0 ]
then
echo "The storage link has problem!!!"
else
echo "The storage link NORMAL!"
fi
}
#HACMP CHECK
HA_CHECK() {
echo "The HACMP status is: `lssrc -g cluster|sed '1d'`"
}
#CHECK SNA
SNA_CHECK() {
echo "The SNA LINK STATUS is:`sna -d l`"
echo "The SNA SESSION has problem as fllows:n"
sna -d sl|tail +4|awk 'BEGIN { OFS="t"; print "name","tactsess","actconw"}{if ($7 == 0 && $8 == 0) print $1, $7,$8}'
}
#CHECK CICS
CICS_CHECK() {
echo "The not active CICS is as fllows:n"
lssrc -a|grep cics|awk '$3!~/active/ {print $1}'
}
echo $SCRIPT >$REPORT
echo $HOSTS >> $REPORT
echo "IP ADDRESS:`ifconfig -a|grep -w inet|grep -v 127.0.0.1|awk '{print $2}'`" >> $REPORT
netstat -v|grep -E "STAT|Link" >>$REPORT
oslevel >> $REPORT
FILESYSTEM_CHECK >>$REPORT 2>&1
VG_CHECK >>$REPORT 2>&1
DISK_CHECK >>$REPORT 2>&1
ERROR_CHECK >>$REPORT 2>&1
DB_CHECK >>$REPORT 2>&1
HARDWARE_CHECK >>$REPORT 2>&1
lslpp -L|grep cluster >/dev/null
if [ $? -eq 0 ]
then
HA_CHECK >>$REPORT 2>&1
else
echo "This machine not install HACMP" >> $REPORT
fi
lslpp -L|grep "sna.rte" >/dev/null
if [ $? -eq 0 ]
then
SNA_CHECK >>$REPORT 2>&1
else
echo "This machine not install sna" >> $REPORT
fi
lslpp -L|grep -i cics >/dev/null
if [ $? -eq 0 ]
then
CICS_CHECK >>$REPORT 2>&1
else
echo "This machine not install cics" >> $REPORT
fi
========================================================
#! /bin/sh
cd /home/check
logname=check.`hostname`.`date +"%y%m%d%H%M"`.txt
echo "system log starting......" >$logname
echo "Filesystem disk use checking started" >>$logname
echo "#df -h" >>$logname
df -h >>$logname 2>&1
echo "filesystem disk ustage checking completed" >>$logname
echo "VG checking started." >>$logname
echo "check vg status" >>$logname
echo "# vgdisplay -v" >>$logname
vgdisplay -v >>$logname
echo "VG checking completed." >>$logname
echo "System log checking started.....">>$logname
echo "# tail -n 50 /var/log/messages" >>$logname
tail -n 50 /var/log/messages >>$logname
echo " showing root's mail" >>$logname
cat /var/spool/mail/root >mail.now
diff -e mail.ref mail.now |awk 'NR>1 {print $0}'>>$logname
mv mail.now mail.ref
echo "showing user login history since last day" >>$logname
last >last.now
diff -e last.ref last.now |awk 'NR>1 {print $0}'>>$logname
mv last.now last.ref >>$logname
echo "Crontab using and error log starting..">>$logname
crontab -l >>$logname
tail -n 30 /var/log/cron >>$logname
echo "#########################">>$logname
echo " System process checking started " >>$logname
echo "#dmesg">>$logname
dmesg >>$logname
echo "#ps -ef |grep defunc">>$logname
ps -ef |grep defunc >>$logname
echo "#service named status">>$logname
service named status >>$logname
echo " #uptime" >>$logname
uptime >>$logname
echo " System process checking completed ">>$logname
echo "#########################">>$logname
echo " networking checking Start.">>$logname
echo "#service network status " >>$logname
service network status >>$logname
echo "#netstat -in " >>$logname
netstat -in >>$logname
echo "#netstat -rn " >>$logname
netstat -rn >>$logname
echo "#netstat -ntapl " >>$logname
netstat -ntapl >>$logname
echo " networking checking completed " >>$logname
#echo "#########################">>$logname
#echo "performance and paging space checking start..." >>$logname
#top >top.now
#cat top.now>>$logname
echo "performance and paging space checking started" >>$logname
echo "#vmstat 1 10 " >>$logname
vmstat 1 10 >>$logname
echo "#free -l ">>$logname
free -l >>$logname
echo "performance and paging space checking completed" >>$logname
echo " showing command used history since last day " >>$logname
cat /.sh_history >sh_history.now
diff -e sh_history.ref sh_history.now |awk 'NR>1 {print $0}' >>$logname
mv sh_history.now sh_history.ref
echo " system logging completed " >>$logname
# now ftp to the log server
ftp -i -n <<EOF
open 10.0.99.5
user root vmware
lcd /home/check
put $logname
bye
EOF
cd /home/check
mv $logname /home/check/syslog/
Linux/hp unix/AIX日常巡检脚本(转)的更多相关文章
- linux日常巡检脚本
######################以下是脚本内容开始部分###################################### #!/bin/bash #set -x2012-02-2 ...
- 企业日常巡检shell脚本
Linux内部查看系统信息 $INTERNET192忽略 [root@ mysql-master ~]# ip a|grep eth0|grep inet|cut -d' ' -f6|cut -d'/ ...
- Linux 编写安全巡检脚本
Linux 编写安全巡检脚本 检测/etc/passwd,/etc/shadow文件是否锁定 检测/etc/login.defs配置文件中密码有效期设置是否得当 检查所有用户账户(非系统账户)中是否存 ...
- 双机倒换(NewStartHA,SKYbility,hacmp,hp unix双机)
1.Suse linux (NewStartHA): # cli cli:~>service-migrate Select service to migrate: ...
- 从Linux 与 Unix 异同,看开源世界的发展!
从Linux 与 Unix 异同,看开源世界的发展! 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,尽管很难找到明确 ...
- Linux 与 Unix 到底有什么不同?区别在哪?
Linux 与 Unix 到底有什么不同?区别在哪? 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,尽管很难找到明确 ...
- 资料收集:学习 Linux/*BSD/Unix 的 30 个最佳在线文档
文章转自:https://linux.cn/article-10311-1.html 手册页(man)是由系统管理员和 IT 技术开发人员写的,更多的是为了作为参考而不是教你如何使用.手册页对于已经熟 ...
- linux基础-linux和unix的区别
有时候我们对天天使用的Linux指令,只知道怎么用,却分不清概念用法区别,我觉得很有必要整理整理大家熟视无睹的一些linux概念区别. 首先说说unix和linux的区别: linux和unix的最大 ...
- 1.Linux和Unix区别
整理来源于网络:http://blog.csdn.net/xiaojianpitt/article/details/6377419 有很多初学Linux的人比较关心Linux和windows的区别,这 ...
随机推荐
- Bill Total Value
Bill Total Value time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- OpenGL ES一些函数详解(一)
glLoadIdentity和glMultMatrix glLoadIdentity的作用是将当前模型视图矩阵转换为单位矩阵(行数和列数相同的矩阵,并且矩阵的左上角至右下角的连线上的元素都为1,其 ...
- HDU1114--Piggy-Bank(完全背包变形)
Piggy-Bank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- 在vim下,实现nesC语句的高亮
默认的vim没有支持nesC语法高亮,给阅读源码带来不便.不过可以通过装NesC Syntax Highlighting插件来解决这个问题,具体操作如下: 步骤一:下载插件 在http://www.v ...
- 学习笔记——Windows7下Android与Cocos2dx的安装配置
1.下载eclipse.安卓SDK.配置ADT等,android开发必备,略. 2.下载NDK.Cocos2dx.Cygwin 2.1NDK下载,请下载对应的32位或者64的较大的压缩包(较小的只有t ...
- PowerDesigner 生成数据库字典(有图有真相,绝对自创非转载)
最近用pd做模型,生成数据字典时在网上找了很多,但是看的都很晕,说的不明白. 经过自己研究终于找到一个简单的方式,当然这只是简单的,大家举一反三去吧.辛苦弄的,求点赞!!! 先看效果图: 现在说一下步 ...
- PAT (Advanced Level) 1097. Deduplication on a Linked List (25)
简单题. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #in ...
- VBS脚本随笔
1.定时运行程序与关闭程序的VBS处理方法: do set ws=createobject("wscript.shell") ws.run"你要运行的程序的路径(比如说d ...
- 微信小程序Server端环境配置
主要内容:1. SSL免费证书申请步骤2. Nginx HTTPS 配置3. TLS 1.2 升级过程 微信小程序要求使用 https 发送请求,那么Web服务器就要配置成支持 https,需要先申请 ...
- ZooKeeper概述
1.Zookeeper概述 Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务.它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置 ...