zoukankan      html  css  js  c++  java
  • unix自动登录Telnet,实现查看多台服务器硬盘及数据表空间使用情况

    以下代码在Sun Solaris 10 系统上运行成功。

    1. #######################Auto Login Telnet###########################
    2. # 在网上找到了一些自动登录的例子,现在用于更实用的例子。          #
    3. #                                                                 #
    4. # 下面代码主要用于,简单的实现了,在一台服务上运行一个脚本,       #
    5. # 就可以查看其它服务器上的硬盘及数据表空间使用情况,              #
    6. # 想必还有一些更好的办法,或更安全的方法来实现。                  #
    7. ###################################################################
    8. #!/bin/bash
    9. ipAddressList="192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.5"     #IP地址列表;
    10. rm LookResult.log  #删除原来的日志。这里如何能做个判断会再好点。
    11. tmptty=`tty`              ;echo 1:$tmptty
    12. tmptty=`basename $tmptty` ;echo 2:$tmptty
    13. tmpname=`whoami`          ;echo 3:$tmpname
    14. inp1="telnetUserName"     ;echo 4:$inp1           #telnet 登录时用户名
    15. inp2="telnetPassword"     ;echo 5:$inp2           #telnet 登录时用户密码
    16. inp3="df -h"              ;echo 6:$inp3           #查看磁盘空间使用情况。 
    17. inp4="sqlplus userName/password<<!"               #登录数据。
    18. inp5=" select t1.tablespace_name ""表空间"","      #表空间使用情况
    19. inp51=" t1.r ""可用空间"","
    20. inp52=" t2.a ""总大小"" from "
    21. inp53=" (select tablespace_name ,sum(bytes)/1024/1024 as r from dba_free_space t1 group by tablespace_name)t1,"
    22. inp54=" (select tablespace_name , sum(bytes)/1024/1024 as a from dba_data_files group by tablespace_name) t2 "
    23. inp55=" where t1.tablespace_name=t2.tablespace_name;"
    24. inp6="!"
    25. echo 8:$inp4
    26. echo $inp5 $inp51 $inp52 $inp53 $inp54 $inp55
    27. echo $inp6
    28. inputfile=in 
    29. outputfile=out.log
    30. for ipAddress in $ipAddressList   #循环IP得址列表
    31. do
    32.     echo "******************************$ipAddress Looking Beging **********************" >>LookResult.log
    33.     echo "******************************$ipAddress Looking Beging **********************"
    34.     rm -fr $inputfile 
    35.     rm -fr $outputfile 
    36.     mknod $inputfile p 
    37.     touch $outputfile 
    38.     
    39.     exec 7<>$outputfile 
    40.     exec 8<>$inputfile 
    41.     telnet $ipAddress <&8 >&7 &       #开始Telent 登录
    42.     
    43.     sleep 1; echo $inp1 >> $inputfile #用户名
    44.     sleep 1; echo $inp2 >> $inputfile #密码
    45.     sleep 1; echo $inp3 >> $inputfile #查看磁盘空间使用情况命令。
    46.     sleep 1; echo $inp4 >> $inputfile #登录Sqlplus
    47.     sleep 1; echo $inp5$inp51$inp52$inp53$inp54$inp55 >> $inputfile #查看表空间使用情况语句
    48.     sleep 1; echo $inp6 >> $inputfile #语句结束退出Sqlplus
    49.     sleep 1; echo exit >> $inputfile  #退出Telnet登录
    50.     
    51.     ps -ef | grep telnet | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh #结束相关进程
    52.     ps -ef | grep tail | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh   #结束相关进程
    53.     
    54.     cat $outputfile
    55.     more $outputfile >> LookResult.log
    56.     echo "******************************$ipAddress Looking over ************************" >> LookResult.log
    57.     echo "******************************$ipAddress Looking over ************************"
    58. done
    59. exit #退出.sh


  • 相关阅读:
    word 快捷键
    java中的各种修饰符作用范围
    pinyin4j的基本使用
    022-pinyin4j工具类模板
    测开之路一百四十五:SQLAlchemy与后台模板整合之新增、查询、删除
    测开之路一百四十四:ORM之SQLAlchemy查询
    测开之路一百四十三:ORM框架之SQLAlchemy模型及表创建
    测开之路一百四十二:ORM框架之SQLAlchemy建库、建表、数据库操作
    测开之路一百四十一:蓝图实现程序模块化
    测开之路一百四十:可拔插视图(基于类、基于方法)
  • 原文地址:https://www.cnblogs.com/xiaotuni/p/2365698.html
Copyright © 2011-2022 走看看