0

我想编写脚本,它将登录到 50 个主机,如果登录成功,它会打印消息“登录到 host1 成功”,如果不是,它应该打印消息“无法登录到 host1”。一旦与主机的连接成功,它应该触发 df 命令来检查文件系统,如果 df 卡在某个地方,那么它应该打印消息“DF 卡住了,否则打印消息”DF 成功

请建议我应该如何实现这一点

我使用了以下方法

#!/usr/bin/ksh

for i in `cat host.txt`

do

        ssh $i

if [[ $? -eq 0 ]] then

        df

                if [[ $? -eq 0 ]] then
                return 0

                else

                echo "Something is wrong"

                fi
else

echo "not able to do df"


fi

done

谢谢

4

2 回答 2

0

对此有一百万种解决方案,所有解决方案都太大而无法放入这个小盒子。哪一个适合你取决于你的口味(我更喜欢 Dancer's Shell 用于小型机器组和简单任务,但其他工具用于更多机器上的大型任务)

https://puppetlabs.com/mcollective/introduction/
http://rundeck.org/
http://docs.fabfile.org/en/1.0.1/index.html
http://func.et.redhat.com /
http://docs.opscode.com/knife.html
http://sourceforge.net/projects/dsh/
http://www.netfort.gr.jp/~dancer/software/dsh.html.en
http: //sourceforge.net/apps/mediawiki/clusterssh/index.php?title=Main_Page
http://cssh.sourceforge.net/

但这不是你用几行 bash 就能解决的问题。

于 2013-08-12T09:37:46.093 回答
0

您可以在脚本中执行此操作:

$ ssh loessl.org df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2           103212320  52448972  45520468  54% /
[..]

和/或看看pconsole

于 2013-08-12T09:29:06.770 回答