远程给多台主机安装软件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了远程给多台主机安装软件相关的知识,希望对你有一定的参考价值。

案例1:在物理机上编写一个自动化批量管理服务器的脚本。要求用ssh命令远程给3台虚拟机全自动安装vsftpd、ftp、lftp、tree、samba、tftp-server、bind、dhcp、httpd、mariadb-server软件,用rpm  -q查询软件是否已安装,全自动启动vsftpd、smb、rpcbind、nfs、mariadb服务。

参考脚本一:

vim auto.sh

#!/bin/bash

IPS=192.168.10.

for I  in {6..9};do

(

ssh  [email protected]${IPS}$I 'yum   install  -y   vsftpd   ftp  lftp   tree  samba  tftp-server   bind   dhcp  httpd   mariadb-server'

ssh  [email protected]${IPS}$I 'rpm  -q   vsftpd   ftp   lftp   tree  samba   tftp-server  bind  dhcp  httpd   mariadb-server'

ssh  [email protected]${IPS}$I  'systemctl   restart   vsftpd'

ssh  [email protected]${IPS}$I  'systemctl   restart   smb'

ssh  [email protected]${IPS}$I  'systemctl   restart   rpcbind'

ssh  [email protected]${IPS}$I  'systemctl   restart   nfs'

ssh  [email protected]${IPS}$I  'systemctl   restart   mariadb'

)&

done

wait


参考脚本二:先将需要安装的软件写到一个文件里,然后用scp传送到服务端

vim install.sh

#!/bin/bash

yum   install  -y   vsftpd   ftp  lftp   tree  samba  tftp-server   bind   dhcp  httpd   mariadb-server

rpm  -q   vsftpd   ftp   lftp   tree  samba   tftp-server  bind  dhcp  httpd   mariadb-server

systemctl   restart   vsftpd
systemctl   restart   smb
systemctl   restart   rpcbind
systemctl   restart   nfs
systemctl   restart   mariadb



vim scp.sh

#!/bin/bash

IPS=192.168.10.

for I in {6..9};do

(

scp  -r install.sh [email protected]${IPS}$I:/opt/

ssh [email protected]${IPS}$I 'bash /opt/install.sh'

)&

done

wait





以上是关于远程给多台主机安装软件的主要内容,如果未能解决你的问题,请参考以下文章

批量远程安装Windows软件

脚本_使用expect自动交互远程主机安装软件

使用 expect 工具自动交互密码远程其他主机安装 httpd 软件

发送公钥到多台远程主机

ansible一般使用

Ansible 安装 及 基础模块介绍