K8S系列文章之 Shell批处理脚本应用

这篇具有很好参考价值的文章主要介绍了K8S系列文章之 Shell批处理脚本应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、简要说明

1、批处理脚本介绍

  1. 命令批处理脚本:/usr/shell/all.sh
  2. 文件批量分发脚本:/usr/shell/scp.sh

2、批处理命令脚本原理

  1. 读取/usr/shell/hosts文件中的ip列表
  2. 使用$*接收脚本所有参数
  3. for循环遍历hosts文件中的ip地址
  4. 通过ssh host cmd 实现目的ip命令
  5. eval命令判断并打印命令执行结果
  6. for循环遍历完hosts则脚本运行结束

3、批量分发脚本原理

  1. 1和2接收参数文件名和分发路径
  2. for循环遍历hosts文件中的ip地址
  3. 通过scp 1 host:
  4. eval命令判断并打印命令执行结果
  5. for循环遍历完hosts则脚本运行结束

二、批处理命令脚本

1、创建 /usr/shell/ 目录

mkdir -p /usr/shell/ && cd /usr/shell/

2、创建批处理脚本并赋权

touch /usr/shell/all.sh && chmod 777 /usr/shell/all.sh

3、批处理脚本实现代码

vim /usr/shell/all.sh
#!/bin/bash
echo "------start execyting the shell script------"
# awk 读取hosts文件的第一部分ip地址
hosts=$(cat /usr/shell/hosts | awk '{print $1}')
# 传递的指令(参数)
cmd=$*
# for循环读取文件
for host in  ${hosts[*]}
do
    exec="ssh $host $cmd"
    echo $exec
    if eval $exec; then
        echo 'success'
    else
        echo "fail"
    fi
done
echo "----end th executing of the shell script------"

三、批量分发文件脚本

1、创建批量分发脚本并赋权

touch /usr/shell/scp.sh && chmod 777 /usr/shell/scp.sh

2、定义批量处理的hosts

这里的hosts是批处理代码从需要读取的hosts,想批处理哪台服务器就写哪个host 

cat /etc/hosts
vim /usr/shell/hosts
172.18.0.2 hadoop01
172.18.0.3 hadoop02
172.18.0.4 hadoop03

2、批量分发文件脚本实现

vim /usr/shell/scp.sh
#!/bin/bash
echo "------start execyting the shell script------"
# awk 读取hosts文件的第一部分ip地址
hosts=$(cat /usr/shell/hosts | awk '{print $1}')
# 传递的第一个参数,文件名称
file=$1
# 传递的第二个参数,目录路径
dir=$2
# for循环读取文件
for host in  ${hosts[*]}
do
    exec="scp $file $host:$dir"
    echo $exec
    if eval $exec; then
        echo 'success'
    else
        echo "fail"
    fi
done
echo "----end th executing of the shell script------"

四、批处理脚本命令

1、批量处理脚本命令

语法格式

/usr/shell/all.sh [命令]

语法示例

/usr/shell/all.sh date

2、批量分发脚本命令

语法格式

/usr/shell/scp.sh [当前系统需要copy的文件名] [所有系统需要copy的目的路径]

语法示例 文章来源地址https://www.toymoban.com/news/detail-644414.html

/usr/shell/scp.sh /home/test.txt /hom

到了这里,关于K8S系列文章之 Shell批处理脚本应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • BAT批处理脚本自动执行指定路径下程序

    需求来源: 使用nacos+springboot的微服务架构,每次跑程序前要先启动nacos比较麻烦,然后就写了个简单的批处理,双击直接打开一个cmd执行nacos启动命令; 知识点: 1. start cmd /k    启动一个CMD且不关闭cmd 2.start cmd /c    启动一个CMD且关闭cmd 3.  start cmd /k  \\\"命令1 命令2 命令3\\\"

    2024年02月16日
    浏览(52)
  • Python批处理excel文件多个sheet汇总脚本

    假设有10个excle表,每个excel包含sheet1,sheet2,sheet3,sheet4,每个excel中sheet1的列名是一样的,sheet2的列名是一样的,现在要做的是将这10个excel中的sheet1合并汇总,sheet2合并汇总,将汇总后的sheet1和sheet2放在汇总表.xlsx里面,补充条件:每个excel的sheet1名字和汇总表的sheet1名字一样,

    2024年02月03日
    浏览(59)
  • 【批处理脚本】-2.2-查看IP配置命令ipconfig

    --点击返回「批处理BAT从入门到精通」总目录-- 共4页精讲 (列举了所有 ipconfig 的用法, 图文并茂,通俗易懂 ) 获取计算机的TCP/IP配置信息。 目录 1 ipconfig命令解析

    2023年04月14日
    浏览(48)
  • shell 脚本一键部署 k8s 高可用集群

    github地址:https://github.com/Johnny-Demo/deploy/tree/k8s-cluster README.md 要修改脚本里面的 ip 地址,根据自己情况修改,然后在部署,要不然会出错。 执行 kernel.sh 升级 linux 内核,关闭 selinux 和 swap 分区,重启服务器。 执行 run.sh 部署k8s,master 和 node 手动加入集群,无法自动获取加入

    2024年02月07日
    浏览(35)
  • 【高效、实用】k8s运行状态自动检测shell脚本

    学习本章,您将获得轻松管理500台虚机和物理机搭建的k8s集群的方法 。 掌握两种技能: 1.分清哪些是k8s集群需要重点关注的信息 2.如何量身定制k8s集群的shell脚本,让您的集群如虎添翼的安全、稳定、强大 提示:有些朋友的环境与我的环境不一样,执行可能显示不一样,要

    2023年04月08日
    浏览(40)
  • K8S系列文章之 Kind 部署K8S的 服务发布

    下载  https://github.com/kubernetes-sigs/kind/releases/download/0.17.0/kind-linux-amd64 执行以下命令:  之前需要先在本地主机安装好docker  kubectl是Kubernetes的命令行工具,可以让我们通过命令访问、操作、管理Kubernetes集群。brew安装方法如下 安装完毕后,查看kubectl版本信息,确认安装成功

    2024年02月14日
    浏览(39)
  • k8s系列文章一:安装指南

            当使用的Docker容器的数量变得越来越多时,对于端口、Docker容器的管理变得越来越麻烦,这时为方便管理容器,资源管理器随之出现,其中最出名的就是Kubernetes,简称K8s(因K与S间有8个字母),可以说k8s是docker的升级版,可用于docker集群配置管理微服务,同样的集群

    2024年02月05日
    浏览(42)
  • 【bat批处理】bat脚本编写:循环,间隔,定时自动获取TCP连接并写入本地文件

    情景 需要固定时间间隔比如60秒运行一次检测TCP连接数,网上查了下最简单的就是用 goto 语句,如果不加延时那就是死循环,在文件里面加上延时变量SETLOCAL ENABLEDELAYEDEXPANSION 延时间隔语句为choice /t 60 /d y /n nul 。下面的批处理作用就是每隔60秒获取一次tcp连接数,并写入txt文

    2024年02月15日
    浏览(56)
  • K8S系列文章之 内外网如何互相访问

    K8S中网络这块主要考虑 如何访问外部网络以及外部如何访问内部网络  需求 k8s集群内的pod需要访问mysql,由于mysql的性质,不适合部署在k8s集群内,故k8s集群内的应用需要链接mysql时,需要配置链接外网的mysql,本次测试 k8s集群ip段为 192.168.23.xx 。以下提供两种方式, Endpoint 和

    2024年02月14日
    浏览(44)
  • K8S系列文章 之 容器存储基础 Volume

    Volume是容器数据卷。我们经常创建删除一些容器,但有时候需要保留容器中的一些数据,这时候就用到了Volume。它也是容器之间数据共享的技术,可以将容器中产生的数据同步到本地。实际就是把容器中的目录挂载到运行着容器的服务器或个人电脑上。 第一种挂载volume的方式

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包