Chinaunix
标题:
一台服务器给多个刀片同时安装rpm包,求脚本
[打印本页]
作者:
zhangcarva
时间:
2013-06-29 17:56
标题:
一台服务器给多个刀片同时安装rpm包,求脚本
各位大侠,我想求助下:
我之前用一台服务器给40个HP刀片kickstrt安装的系统,完成后还需要给40个刀片,每台安装三个系统自带的rpm包,这三个包有很多依赖关系,即使重新K系统也不行,需要用yum源安装
请问谁能给我一个简答的脚本执行下,我刚毕业不是很会写脚本,请帮助我下,谢谢了,
作者:
Shell_HAT
时间:
2013-06-29 18:33
检查一下你的服务器上没有没有expect
作者:
rdcwayx
时间:
2013-06-29 19:04
你说的是 kickstart 吧。
作者:
rdcwayx
时间:
2013-06-29 19:04
你说的是 kickstart 吧。
作者:
zhangcarva
时间:
2013-06-29 22:18
是这样的,我已经kickstart 完了多台服务,但是发现kickstart完的系统,没有驱动软件。现在想通过shell脚本,把驱动软件分发到这几台服务器上并且实现自动安装。由于小弟,刚刚接触脚本,没有思路,能力有限。请各位大侠帮帮忙,谢谢了。
作者:
Juice12
时间:
2013-07-01 09:30
用expect比较麻烦啊,你可以建立ssh信任,然后从一台服务器用一个循环登录到其它服务器上执行yum -y package_name来安装
作者:
nathanielwen
时间:
2013-07-01 10:41
用expect也不算麻烦吧?我丢人现眼一下,贴个代码好了。
#!/bin/bash
#from nathanielwen!
#2013-5-18!
#version 1.0
autologin(){
expect -c "
set timeout -1;
spawn ssh -o \"StrictHostKeyChecking no\" root@$1
#不需要检验指纹信息,否则会出现(yes|no)的选项
expect *assword*;
#要求输入Password,Linux系统上是password,Unix上是Password
send $2\r;
expect *#*;
#因为是root用户,所以提示符默认是#
send \"yum install -y tree\r\";
send \"exit\r\";
interact;"
}
Passwd=nat;
#密码是nat
cnt=`cat iplist | wc -l`;
#所有需要登录的ip,记录在iplist里面
for((i=1;i<=cnt;i++)){
DesIP=`sed -n "$i p" iplist`;
#取出iplist的第i行,赋给DesIP
autologin $DesIP $Passwd;
#DesIP是需要ssh的地址,Passwd是登录密码
}
复制代码
我在自己机器上试过了,应该能跑,系统是redhat 6,要登录的ip我记录在iplist里面,这次是那127.0.0.1做了个实验,密码是"nat",如果每台主机的密码不一样,就也像iplist一样记录到文件里面吧。我用yum装了个"tree",改成你自己的应该就好了吧?之前用类似的脚本登录过hp主机,理论上是没问题,欢迎批评指正~
作者:
一粒星尘
时间:
2013-07-02 11:34
Juice12 发表于 2013-07-01 09:30
用expect比较麻烦啊,你可以建立ssh信任,然后从一台服务器用一个循环登录到其它服务器上执行yum -y packag ...
按照五楼的方法,搞成ssh,然后建立个服务器ip表,然后pssh安装。
作者:
dn833
时间:
2013-07-02 11:59
LZ可能需要的是
for ip in `cat ip.list`;do ssh -p port user@${ip} "yum -y install ooxx";done
复制代码
作者:
永夜之魂
时间:
2013-07-03 20:01
回复
9#
dn833
同时安装的话我觉得
for ip in `cat ip.list`;do ssh -p port user@${ip} "yum -y install ooxx" & done
复制代码
这样效率会高点
作者:
dn833
时间:
2013-07-04 03:21
回复
10#
永夜之魂
是的。
作者:
kooleon
时间:
2013-07-04 16:56
回复
10#
永夜之魂
如果打通了通道,还是楼主说的pssh会比你这个快一点。pssh是同时执行的,这个是循环,会慢一点。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2