我这一个回车键下去,可能你就不用努力了!!!
脚本思路如下,在一台机器上生成密钥后发送给其他机器,配置免密登录;从本地yum仓库中拉取安装包,然后解压,配置环境变量,配置jdk环境。
运行环境:本地yum仓库,三台测试机器
废话不多说,直接上干货!
第一个脚本:
代码语言:javascript复制#!/bin/bash
SERVERS="master slave1 slave2"
PASSWORD=123
BASE_SERVER=192.168.200.6
auto_ssh_copy_id() {
expect -c "set timeout -1;
spawn ssh-copy-id $1;
expect {
*(yes/no)* {send -- yesr;exp_continue;}
*password:* {send -- $2r;exp_continue;}
eof {exit 0;}
}";
}
ssh_copy_id_to_all() {
for SERVER in $SERVERS
do
auto_ssh_copy_id $SERVER $PASSWORD
done
}
expect -c "set timeout -1;
spawn ssh-keygen;
expect {
*id_rsa* {send -- r;exp_continue;}
*pass* {send -- r;exp_continue;}
*again* {send -- r;exp_continue;}
eof {exit 0;}
}";
ssh_copy_id_to_all
for SERVER in $SERVERS
do
scp install.sh $SERVER:~/
scp end.sh $SERVER:~/
ssh $SERVER ~/install.sh
done
第二个脚本:
脚本名称为:install.sh,因为第一个脚本调用了第二个脚本,要不然找不到。
代码语言:javascript复制#!/bin/bash
BASE_SERVER=192.168.200.3
yum -y install wget
wget $BASE_SERVER/softwares/jdk-8u261-linux-x64.tar.gz
tar -zxvf jdk-8u261-linux-x64.tar.gz
mv jdk1.8.0_261 jdk
mv jdk /export/servers/
cat >> /etc/profile << EOF
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
EOF
rm -rf jdk-8u261-linux-x64.tar.gz install.sh
说明(重要):
这两个脚本的使用前提是要搭建一个本地yum仓库,否则无法进行安装,将jdk的安装包上传到本地yum仓库中,注意修改第二个脚本中yum仓库的地址,修改成你的,还有jdk版本要对应,安装路径改成自己的,第二个脚本的名字为install.sh,运行完成后,记得source一下就可以查看jdk版本信息了。
如果运行失败,检查你的ip,文件路径,安装包名字是否正确。