Linux系列——自动化批量安装软件

简介: Linux系列——自动化批量安装软件

前言

使用脚本为集群自动化安装软件,能给开发者省很多时间。

准备工作:

带有安装包的服务器需要有httpd、scp命令(也可以写到脚本里面)

yum install -y httpd openssh-clients

被安装的服务器需要有wget命令

yum install -y openssh-clients wget


步骤

1. 编写脚本文件 boot.sh

#!/bin/bash
# 需要安装软件的服务器列表
SERVERS="192.168.137.112 192.168.137.113"
# 登陆服务器的root密码
PASSWORD=123456
# 带有安装包的服务器
BASE_SERVER=192.168.137.111
yum install -y httpd openssh-clients
auto_ssh_copy_id() {
  expect -c "set timeout -1; #设置不超时
    spawn ssh-copy-id $1; #启动新进程,用于执行shell命令
    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@$SERVER
  ssh root@$SERVER /root/install.sh
done

2.编写脚本文件 install.sh

#!/bin/bash
BASE_SERVER=192.168.137.111
yum install -y openssh-clients 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


3.给脚本加执行权限

chmod +x boot.sh install.sh

4.执行boot.sh

./boot.sh

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
1天前
|
Linux 程序员 Python
python-office支持Mac和Linux吗?自动化办公用这个就够了
大家好,我是程序员晚枫。今天解答关于`python-office`是否支持Mac和Linux的问题。起初因需调用Office功能,该项目不完全支持这两个系统。现已通过拆分子项目解决了这一限制,例如`poexcel`可在多平台上运行Excel相关功能。只需简单修改导入语句,如使用`import poexcel`替代`import office`,即可在Mac和Linux上顺利执行。学习或使用中有任何疑问,欢迎留言交流!
|
3天前
|
Linux Shell PHP
奇怪,自从学会Linux这些“自动化”技巧,头发也不掉了!
奇怪,自从学会Linux这些“自动化”技巧,头发也不掉了!
|
1月前
|
Shell Linux
Linux Shell 脚本入门教程:开启你的自动化之旅
Shell是一种计算机程序,它充当了用户与操作系统之间的接口。在Linux系统中,Shell允许用户通过命令行界面(CLI)来控制计算机。Shell脚本则是一种使用Shell语言编写的脚本,它可以自动执行一系列的命令,帮助用户实现任务自动化,提高工作效率。
|
26天前
|
Linux 持续交付 Apache
在Linux中通过ansible自动化部署apache服务
【7月更文挑战第11天】Linux中用Ansible自动化部署Apache服务:1. 确保Ansible已安装;2. 在`/etc/ansible/hosts`配置目标主机,如\[webservers\] server1 server2;3. 编写Playbook `apache_deploy.yml`更新系统并安装、启动Apache;4. 执行`ansible-playbook apache_deploy.yml`。适用于快速部署至多台服务器,减少配置错误和成本。
|
2月前
|
关系型数据库 MySQL Shell
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
|
1月前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
|
1月前
|
运维 Linux 应用服务中间件
Linux之自动化运维工具ansible、ansible模块(2)
Linux之自动化运维工具ansible、ansible模块(2)
|
1月前
|
运维 Linux Shell
Linux之自动化运维工具ansible、ansible模块(1)
Linux之自动化运维工具ansible、ansible模块(1)
|
2月前
|
NoSQL 编译器 Linux
【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用
【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用
29 0
|
3月前
|
IDE Linux 测试技术
Linux项目自动化构建工具-make/Makefile
Linux项目自动化构建工具-make/Makefile

热门文章

最新文章