配置免密登陆和自动安装JDK的shell脚本

配置免密登陆,并把自动安装的脚本发送到需要的主机

#!/bin/bash

#定义变量,存放需要安装的主机名(IP)
SERVERS="node1 node2......"
#存放安装主机的密码,每台密码都是相同的
PASSWORD=123456
#存放的是创建脚本文件的IP
BASE_SERVER=172.16.203.100

#设置免密登陆到其它主机的主函数
auto_ssh_copy_id() {
#expect:与 vim交互操作的命名 timeout -1:表示收到下一条命令后继续执行,否则永远停留在此步
    expect -c "set timeout -1;
    #执行远程登陆命令
        spawn ssh-copy-id $1;
        expect {
        #出现*(yes/no)*选择的时候直接选择yes输入
            *(yes/no)* {send -- yes\r;exp_continue;}
        #出现*assword*(提示输入密码的时候):输入统一的密码123456
            *assword:* {send -- $2\r;exp_continue;}
        #vim退出的时候该命令也退出
            eof        {exit 0;}
        }";
}
#配置免密登陆的入口,循环遍历每台机器
ssh_copy_id_to_all() {
    for SERVER in $SERVERS
    do
    #给每台机器配置免密登陆
        auto_ssh_copy_id $SERVER $PASSWORD
    done
}

ssh_copy_id_to_all

#配置完免密登陆后,使用免密登陆
#把安装的脚本install.sh发送到各台机器
for SERVER in $SERVERS
do
    scp install.sh root@$SERVER:/root
    ssh root@$SERVER /root/install.sh
done

自动安装的脚本:install.sh

#!/bin/bash
#设置变量,存放下载JDK安装包地址的IP
BASE_SERVER=hostname/ip
#由于下载需要使用wget命令,所以需要现安装wget
yum install -y wget
#从服务器下载安装包
wget $BASE_SERVER/soft/jdk-7u45-linux-x64.tar.gz
#解压
tar -zxvf jdk-7u45-linux-x64.tar.gz -C /usr/local
#编辑环境变量  
#由于环境变量需要追加两行,追加一行可以使用 echo "内容" >> filename ,两行就需要将内容写入文件追加
# EOF 内容 EOF 创建一个临时文件,>> <<,箭头指向的方向就是呗追加的文件
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/jdk1.7.0_45
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值