主机巡检脚本:OSWatcher.sh

2016-09-26更新,目前该脚本只支持Linux操作系统,后续有需求可以继续完善。

注意:

经测试,普通用户执行脚本可以顺利执行前9项检查;

第10项,普通用户检查/var/log/messages很可能没有读权限,如有需要巡检此系统日志,建议切换root用户执行此脚本。

#!/bin/bash
echo ""
echo "OSWatcher Version:2.0.0"
echo ""
#Create Time:--
#Update Time:--
######################################################################
#设置命令的路径,防止命令找不到路径
PATH=$PATH:/usr/sbin/
export PATH
echo "the PATH is:$PATH"
######################################################################
PLATFORM=`/bin/uname`
#
######################################################################
# Create log subdirectories if they don't exist
######################################################################
if [ ! -d archive ]; then
mkdir archive
fi case $PLATFORM in
Linux)
DF='df -h'
MEMINFO='free -m'
MPSTAT='mpstat 1 3'
TOP='eval top -b -n 1 | head -50'
VMSTAT='vmstat 1 3'
IOSTAT='iostat -d -x -k 1 5'
PSELF='ps -elf'
BOOTLOG='tail -500 /var/log/boot.log'
SYSLOG='dmesg'
MESSAGE='tail -500 /var/log/messages'
;;
esac
hostn=`hostname`
hour=`date +'%m.%d.%y.%H00.dat'`
echo "`date` Collect">archive/${hostn}_$hour
######################################################################
# Test for discovery of os utilities. Notify if not found.
######################################################################
echo ""
echo "Starting Data Collection..."
echo "" case $PLATFORM in
Linux)
$DF > /dev/null >&
if [ $? = ]; then
echo "DF found on your system."
echo "--1.DF==========================">>archive/${hostn}_$hour
$DF>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... DF not found on your system."
MEMFOUND=
fi $MEMINFO > /dev/null >&
if [ $? = ]; then
echo "meminfo found on your system."
echo "--2.MEMINFO==========================">>archive/${hostn}_$hour
$MEMINFO>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... /proc/meminfo not found on your system."
MEMFOUND=
fi $MPSTAT > /dev/null >&
if [ $? = ]; then
echo "MPSTAT found on your system."
echo "--3.MPSTAT==========================">>archive/${hostn}_$hour
$MPSTAT>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... MPSTAT not found on your system."
MEMFOUND=
fi $TOP > /dev/null >&
if [ $? = ]; then
echo "TOP found on your system."
echo "--4.TOP==========================">>archive/${hostn}_$hour
$TOP>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... TOP not found on your system."
MEMFOUND=
fi $VMSTAT > /dev/null >&
if [ $? = ]; then
echo "VMSTAT found on your system."
echo "--5.VMSTAT==========================">>archive/${hostn}_$hour
$VMSTAT>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... VMSTAT not found on your system."
MEMFOUND=
fi $IOSTAT > /dev/null >&
if [ $? = ]; then
echo "IOSTAT found on your system."
echo "--6.IOSTAT==========================">>archive/${hostn}_$hour
$IOSTAT>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... IOSTAT not found on your system."
MEMFOUND=
fi $PSELF > /dev/null >&
if [ $? = ]; then
echo "PSELF found on your system."
echo "--7.PSELF==========================">>archive/${hostn}_$hour
$PSELF>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... PSELF not found on your system."
MEMFOUND=
fi $BOOTLOG > /dev/null >&
if [ $? = ]; then
echo "BOOTLOG found on your system."
echo "--8.BOOTLOG==========================">>archive/${hostn}_$hour
$BOOTLOG>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... BOOTLOG not found on your system."
MEMFOUND=
fi $SYSLOG > /dev/null >&
if [ $? = ]; then
echo "SYSLOG found on your system."
echo "--9.SYSLOG==========================">>archive/${hostn}_$hour
$SYSLOG>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... SYSLOG not found on your system."
MEMFOUND=
fi $MESSAGE > /dev/null >&
if [ $? = ]; then
echo "MESSAGE found on your system."
echo "--10.MESSAGE==========================">>archive/${hostn}_$hour
$MESSAGE>>archive/${hostn}_$hour
MEMFOUND=
else
echo "Warning... MESSAGE not found on your system."
MEMFOUND=
fi ;;
esac echo ""
echo "Discovery completed."
echo "Collection completed."
echo "The Collected result saved in ./archive/${hostn}_$hour."
echo ""

主机巡检脚本:OSWatcher.sh的更多相关文章

  1. 巡检脚本OS+Oracle

    巡检脚本 主机巡检脚本:OSWatcher.sh Oracle巡检脚本:ORAWatcher.sh 脚本使用方法 1.建立脚本放置目录 # mkdir /var/collect 2.把脚本ORAWat ...

  2. Oracle巡检脚本:ORAWatcher.sh

    Oracle巡检脚本:ORAWatcher.sh #!/usr/bin/ksh echo "" echo "ORAWatcher Version:1.0.1" ...

  3. Linux/hp unix/AIX日常巡检脚本(转)

    以下为Linux/hp unix/AIX日常巡检脚本,大家可以参考着进行改写,用于自己的服务器. #!/usr/bin/ksh syserrdate=`date +"%m/%d"` ...

  4. linux日常巡检脚本

    ######################以下是脚本内容开始部分###################################### #!/bin/bash #set -x2012-02-2 ...

  5. 非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛

    非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛 Glenn Berry 大牛会对这个脚本持续更新 -- SQL Server 2012 Diagnost ...

  6. Tomcat重启脚本restart.sh停止脚本stop.sh

    Tomcat重启脚本restart.sh停止脚本stop.sh Tomcat本身提供了 startup.sh(启动)shutdown.sh(关闭)脚本,我们在部署中经常会出现死进程形象,无法杀掉进程需 ...

  7. Tomcat启动脚本catalina.sh

    1 - 概述脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本另外的脚本startup.sh和shutdown.sh都是使用不同的参数调用了该脚本该脚本的使用方法如下(引自该脚 ...

  8. ubuntu下的第一个脚本file.sh

    1.新建空文档,写入shell命令: #!/bin/sh cd /home/plg ./usb 第一行一定要有,一开始参考网上写的#!/usr/bin/sh,会提示错误 bash: ./file.sh ...

  9. Linux跑脚本用sh和./有什么区别?(转)

    sh是一个shell.运行sh a.sh,表示我使用sh来解释这个脚本:如果我直接运行./a.sh,首先你会查找脚本第一行是否指定了解释器,如果没指定,那么就用当前系统默认的shell(大多数linu ...

随机推荐

  1. Google Authentication的实现 - Odoo 安全登录

    在前边的一篇文章中,我们提到了利用二次验证增强Odoo登录的可靠性:http://www.cnblogs.com/kfx2007/p/6023991.html 今天我们来具体实现这一步: 后端的实现 ...

  2. 在页面使用js回车键

    网上有大量的文章关于 js回车事件的,但是只有适合自己的才是最好的. 第一种: // submit closest form $(".keydown_submit").keydow ...

  3. svg格式的中国地图轮廓图

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C ...

  4. JQM (功能栏、导航条)

    在Mobile中导航条的基本结构: <div data-role="navbar"> ul>li>a </div> 其中含有“行(grid)”和 ...

  5. ESENT分布式数据存储

    关于ESENT,我能想到最恰当的比喻是,它是Microsoft世界的BerkeleyDB,鲜为人知,很少有.NET开发人员使用它,rhino-queues项目使用就是它,但它的性能和可靠性已经经受住了 ...

  6. Android安全开发之ZIP文件目录遍历

    1.ZIP文件目录遍历简介 因为ZIP压缩包文件中允许存在“../”的字符串,攻击者可以利用多个“../”在解压时改变ZIP包中某个文件的存放位置,覆盖掉应用原有的文件.如果被覆盖掉的文件是动态链接s ...

  7. UI控件(UITextField)

    @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UITextField* textField1 = ...

  8. 关于分工的思考 (Thoughts on Division of Labor)

    Did you ever have the feeling that adding people doesn't help in software development? Did you ever ...

  9. TODO:Linux安装PHP MongoDB驱动

    TODO:Linux安装PHP MongoDB驱动 PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统 ...

  10. 安装Oracle 12c精简客户端(不带数据库)

      注:Oracle客户端向下兼容,故也可以连接11g的数据库 下载页面皆为:http://www.oracle.com/technetwork/topics/winsoft-085727.html ...