免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4767 | 回复: 10
打印 上一主题 下一主题

ssh批量查看远程机器信息问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-22 10:07 |只看该作者 |倒序浏览
本帖最后由 9ding 于 2011-11-22 10:11 编辑

由于用cacti看磁盘利用率信息,太麻烦。最终写了个脚本来实现,但是现在出现问题了,请各位帮忙解决下
脚本内容如下:
#!/bin/bash
grep -v '#' srv.list | while read ip
do
        echo "==========================$ip=============================="
        ssh -t -p2999 $ip "/bin/df -h"
        echo "====================================================================="
done

srv.list是地址列表文件,每行是一个ip地址:
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13
#192.168.1.14

提示信息:
==========================192.168.1.10==============================
Pseudo-terminal will not be allocated because stdin is not a terminal.
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1
                            14G   13G  907M  90% /
/dev/sda2              99M   21M   74M  22% /boot
tmpfs                 3.8G     0  3.8G   0% /dev/shm
/dev/sda4
                      249G  190G   46G  81% /data
=====================================================================

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2011-11-22 10:19 |只看该作者
改成密钥认证试试

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
3 [报告]
发表于 2011-11-22 10:22 |只看该作者

论坛徽章:
0
4 [报告]
发表于 2011-11-22 10:38 |只看该作者
回复 2# greysky-zfj


    我本来就用的密钥认证 现在是登录直接不需要密码的
直接ssh ip  命令就可以查看远程服务器信息

论坛徽章:
0
5 [报告]
发表于 2011-11-22 14:09 |只看该作者
for循环是可以的
#!/bin/bash
iplist=`grep -v '#' srv.list`
for ip in $iplist
do
        echo "==============================$ip================================="
        ssh  -t $ip "df -h"  
done

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2011-11-22 14:19 |只看该作者
此时ssh的标准输入是管道

论坛徽章:
0
7 [报告]
发表于 2011-11-22 14:42 |只看该作者
  按照3楼的 方法也行
#!/bin/bash
exec 3<srv.list
while read ip <&3
do
        echo "==============================$ip================================="
        ssh  -t $ip "df -h"  
done

论坛徽章:
0
8 [报告]
发表于 2011-11-22 15:04 |只看该作者
[work@localhost ~]$ cat catdf.sh
#!/bin/bash
for ip in `grep -v '#' srv.list`
do
        echo "==========================$ip=============================="
        ssh -t -p22 root@$ip "/bin/df -h"
        echo "====================================================================="
done
[work@localhost ~]$

论坛徽章:
0
9 [报告]
发表于 2011-11-23 09:16 |只看该作者
和第一种for循环一样  第二种使用了exec内置命令
学习了 嘿嘿

论坛徽章:
0
10 [报告]
发表于 2012-07-04 19:44 |只看该作者
都是高手呀 不会吖!!
想要书本
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP