四、批处理脚本命令
1、批量处理脚本命令
2、批量分发脚本命令
一、批处理脚本介绍
1、批处理脚本介绍
-
命令批处理脚本:/usr/shell/all.sh
-
文件批量分发脚本:/usr/shell/scp.sh
2、批处理命令脚本原理
-
读取/usr/shell/hosts文件中的ip列表
-
使用$*接收脚本所有参数
-
for循环遍历hosts文件中的ip地址
-
通过ssh $host $cmd 实现目的ip命令
-
eval命令判断并打印命令执行结果
-
for循环遍历完hosts则脚本运行结束
3、批量分发脚本原理
-
$1和$2接收参数文件名和分发路径
-
for循环遍历hosts文件中的ip地址
-
通过scp $1 $host:$2实现分发文件到目的主机
-
eval命令判断并打印命令执行结果
-
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 h o s t : host: host:dir”
echo $exec
if eval $exec; then
echo ‘success’
else
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!