centos环境自动化批量安装jdk软件脚本
自动化安装jdk软件部署脚本
准备工作:
1.在执行脚本的服务器上生成免密码公钥:
安装expect命令
yum install -y expect
ssh-keygen 三次回车
2.将jdk-7u80-linux-x64.gz软件包放到http服务器中,供下载
3.运行脚本 boot.sh
cat boot.sh
#!/bin/bash
# 需要安装软件的服务器列表
SERVERS="192.168.3.13 192.168.3.12 192.168.3.16"
# 登陆服务器的root密码
PASSWORD=123456
# 免密码登陆函数
auto_ssh_copy_id() {
expect -c "set timeout -1;
spawn ssh-copy-id $1;
expect {
*(yes/no)* {send -- yes\r;exp_continue;}
*assword:* {send -- $2\r;exp_continue;}
eof {exit 0;}
}";
}
ssh_copy_id_to_all(){
for SERVER in $SERVERS
do
auto_ssh_copy_id $SERVER $PASSWORD
#echo $SERVER
done
}
ssh_copy_id_to_all
for SERVER in $SERVERS
do
scp install.sh root@$SERVER:/root
ssh root@$SERVER /root/install.sh
done
# 下载安装程序脚本
# cat install.sh
#!/bin/bash
BASE_SERVER=http://192.168.3.15
#yum install -y wget
wget $BASE_SERVER/soft/jdk-7u80-linux-x64.gz
tar -zxvf jdk-7u80-linux-x64.gz -C /usr/local
cat >> /etc/profile <<EOF
export JAVA_HOME=/usr/local/jdk1.7.0_80
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
准备工作:
1.在执行脚本的服务器上生成免密码公钥:
安装expect命令
yum install -y expect
ssh-keygen 三次回车
2.将jdk-7u80-linux-x64.gz软件包放到http服务器中,供下载
3.运行脚本 boot.sh
cat boot.sh
#!/bin/bash
# 需要安装软件的服务器列表
SERVERS="192.168.3.13 192.168.3.12 192.168.3.16"
# 登陆服务器的root密码
PASSWORD=123456
# 免密码登陆函数
auto_ssh_copy_id() {
expect -c "set timeout -1;
spawn ssh-copy-id $1;
expect {
*(yes/no)* {send -- yes\r;exp_continue;}
*assword:* {send -- $2\r;exp_continue;}
eof {exit 0;}
}";
}
ssh_copy_id_to_all(){
for SERVER in $SERVERS
do
auto_ssh_copy_id $SERVER $PASSWORD
#echo $SERVER
done
}
ssh_copy_id_to_all
for SERVER in $SERVERS
do
scp install.sh root@$SERVER:/root
ssh root@$SERVER /root/install.sh
done
# 下载安装程序脚本
# cat install.sh
#!/bin/bash
BASE_SERVER=http://192.168.3.15
#yum install -y wget
wget $BASE_SERVER/soft/jdk-7u80-linux-x64.gz
tar -zxvf jdk-7u80-linux-x64.gz -C /usr/local
cat >> /etc/profile <<EOF
export JAVA_HOME=/usr/local/jdk1.7.0_80
export PATH=\$PATH:\$JAVA_HOME/bin
EOF