博主前面文章有介绍过软件的安装,能够帮助IT人员顺利的完成功能软件安装;可是,对于咱们运维人员或者须要管理软件安装的项目经理来讲,有些应用一次行须要搭建不少台相同的软件环境(如tomcat+java);那么,此时若是咱们再一台一台去安装,那就显得效率过低;因此此篇文章博主将详细讲解如何经过自动化脚原本实现服务器批量安装软件环境。java
步骤:linux
(1)首先,须要检查要要安装软件环境的服务器上是否安装了ssh服务端和客户端,没有安装的须要安装上。tomcat
rpm -qa|grep ssh 检查服务器上已经安装了的ssh相关软件 yum list|grep ssh 检查yum仓库中可用的ssh相关的软件包 yum -y install openssh-server 安装服务端 yum -y install openssh-clinets 安装客户端
(2)检查root用户是否可以使用ssh链接:ssh root@192.168.29.135bash
注意:若是此处没法实现登陆报远程登陆限制,则须要在192.168.29.135的ssh配置文件中开启运行root用户远程登陆。服务器
(3)上传jdk软件包到httpd服务器(用于执行自动化脚本的服务器)Alt+p上传运维
(4)访问httpd服务:http://192.168.29.133/softssh
(5)编写自动化脚本(而且赋予执行权限)oop
ssh远程登陆其余服务器的脚本(/root/boot.sh)spa
#!/bin/bash SERVERS="192.168.29.135 192.168.29.136" PASSWORD=hadoop BASE_SERVER=192.168.29.133 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 done } ssh_copy_id_to_all for SERVER in $SERVERS do scp install.sh root@$SERVER:/root ssh root@$SERVER /root/install.sh done
远程登陆后调用该脚本进行自动化软件安装(/root/install.sh)code
#!/bin/bash BASE_SERVER=192.168.29.133 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 cat >> /etc/profile << EOF export JAVA_HOME=/usr/local/jdk1.7.0_45 export PATH=\$PATH:\$JAVA_HOME/bin EOF
执行命令赋予权限:chmod 777 /root/install.sh /root/boot.sh
(6)生成ssh秘钥对:ssh-kegen
(8)安装expect人机交互命令(此命令在自动化脚本中要使用)
(9)执行boot.sh进行自动化脚本安装软件:sh boot.sh
(10)安装完成后,去其余服务器source /etc/profile后验证jdk
至此,自动化脚本的安装运行整个过程完成。若是你们以为不错,请点赞博主的文章;若是您对其余服务器技术感兴趣,请关注博主博客,并随时欢迎同博主本人交流。