Linux通过脚本实现多台主机统一部署
2022/9/14 5:17:38
本文主要是介绍Linux通过脚本实现多台主机统一部署,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
该脚本分成三部分,一部分是获取信息的脚本:getInfo.sh 一个是main脚本:main.sh、一个是ssh连接主机脚本:sshing.sh
注: 该脚本存在缺陷,也远远比不上专门的部署软件,大家看看图一乐呵,交流交流技术就行啦!
main.sh
#是否检查主机是否存活 host_check=`cat ./install.command | grep "ENABLE" | cut -d"=" -f2` #从哪个主机开始发送命令 start_host=`cat ./install.command | grep "START" | cut -d"=" -f2` #结束的主机 end_host=`cat ./install.command | grep "END" | cut -d"=" -f2` #其他主机root的密码 default_passwd=`cat ./install.command | grep "PASSWD" | cut -d"=" -f2` #要执行的命令 command=`cat ./install.command | grep "COMMAND" | cut -d"=" -f2` echo "the start host: $start_host" echo "the end host: $end_host" echo "check the host? $host_check" #if check the host if [ $host_check = yes ] then while [ $start_host -le $end_host ] do hostname="192.168.3.$start_host" ping -c 1 $hostname start_host=$[$start_host+1] done . ./getinfo.sh onlyip=() #去重 for i in "${live_host[@]}" do if [ ${#onlyip[*]} -eq 0 ] then onlyip[ ${#onlyip[*]} ]=$i else index=1 for op in "${onlyip[@]}" do if [ "$i" = "$op" ] then break fi if [ $index -eq ${#onlyip[*]} ] then onlyip[ ${#onlyip[*]} ]=$i break fi index=$[$index+1] done fi done echo "the live host: " echo "${onlyip[@]}" echo "start run!!!!" for ip in "${onlyip[@]}" do . ./sshing.sh done echo "end" else echo "start run!!!!" while [ $start_host -le $end_host ] do ip="192.168.3.$start_host" . ./sshing.sh start_host=$[$start_host+1] done echo "end" fi
sshing.sh
/usr/bin/expect <<EOF spawn ssh -o "StrictHostKeyChecking no" root@$ip expect "password:" send "$default_passwd\r" expect "#" send "$command\r" expect "#" send "exit\r" expect eof EOF
getinfo.sh
#将存活的主机ip存在数组中 live_host=(`sudo cat /var/log/kern | grep "Live-host" | grep "SRC=" | awk {'print $9'} | cut -d"=" -f2`)
这仨脚本放一个文件夹就行,有问题请留言!
这篇关于Linux通过脚本实现多台主机统一部署的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南