基于nagios的自动化设想

         先把测试脚本放出来,这个脚本尚处于未完成状态- -

         这个脚本要达到的作用是:利用nagios的check_tcp命令,检查tomcat的8080端口是否正常工作,如果正常则退出;如果不正常则利用expect交互命令su到root用户下重启tomcat程序。

  1. #!/bin/bash  
  2. export JAVA_HOME=/usr/java  
  3. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
  4. export PATH=$PATH:$JAVA_HOME/bin  
  5. export x=`/usr/local/nagios/libexec/check_tcp -p 8080`  
  6. [[ $x != "Connection refused"  ]] && quit 0  
  7. export command="/usr/local/tomcat/bin/startup.sh" 
  8. export password="1q2w3e4r5t" 
  9. expect -c "  
  10.         spawn su - root;  
  11.         expect {  
  12.                 \"Password:\" {send \"$password\r\"; exp_continue}  
  13.                 \"*#*\" {send \"$command\r\"; exp_continue}  
  14.         }  
  15. "