使用shell脚本将一台虚拟机上面数据分发到其他虚拟机上面xsync
2023-12-13 04:23:04
1,功能
使用shell脚本将一台虚拟机上面数据分发到其他虚拟机上面。
2,注意点
需要修改的地方:hadoop250 hadoop251 hadoop252 hadoop253 hadoop254
这些是主机名,需要换成自己的主机名,注意中间是空格。
保存之后将权限改为777,可读写
3,shell脚本介绍
shell脚本用法是:提前将可执行的命令语句写入一个文件中,这些命令会按照顺序执行,解释器逐行解释代码。
常见的脚本有:shell、python、PHP…
(用什么解释器就是什么脚本,这里使用的shell,也就是shell脚本)
也是像其他脚本语句一样有不同的语法格式。
一般以“#!/bin/bash”作为脚本开头
4,bash内容
cd /home/yiduoyun/bin
vim xsync
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop250 hadoop251 hadoop252 hadoop253 hadoop254
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
将权限改为777:
chmod 777 xsync
ls -l
分发完成之后去被分发的虚拟机就可以看到分发的文件了,实现一键分发。
(相当于scp命令远程拷贝文件),这个shell脚本可以一个指令发送到多台虚拟机。
文章来源:https://blog.csdn.net/m0_58115520/article/details/134818058
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!