简介
这篇文章主要介绍了linux如何编写同步文件的脚本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教,
搭集群最麻烦的就是修改配置文件,如果只用修改一个机器上的配置文件,然后用一个脚本就可以把配置文件同步到其他机器上,岂不快哉!
作用: 将当前机器的文件,同步到集群所有机器的相同路径下!
hadoop102:/A/a , 执行脚本后,将此文件同步到集群中所有机器的 /A/a
用户在使用xsync时,只需要传入要同步的文件即可
xysnc a
不管a是一个相对路径还是绝对路径,都需要将a转换为 绝对路径!
文件的 绝对路径=父路径+文件名:
- 父路径: dirpath=$(cd
dirname /home/atguigu/hi
; pwd -P) - 文件名: filename=
basename hi
pwd的 -P参数是为了避免出现软链接导致的路径问题,-P可以使软链接显示出真实的链接
- 核心命令:
for(()) do rsync -rvlt path1 done
- 正式文件:
#!/bin/bash #校验参数是否合法 if(($#==0)) then echo 请输入要分发的文件! exit; fi #获取分发文件的绝对路径 dirpath=$(cd `dirname $1`; pwd -P) filename=`basename $1` echo 要分发的文件的路径是:$dirpath/$filename #循环执行rsync分发文件到集群的每条机器 for((i=101;i<=103;i++)) do echo ---------------------hadoop$i--------------------- rsync -rvlt $dirpath/$filename username@hostname$i:$dirpath done
最后别忘了把xcall文件放进 家目录下的bin目录
如果没有就新建一个bin目录
因为这目录是在 全局环境变量 中
放进去后无论在哪个目录下都可以执行这个脚本文件!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持腾创网。
以上本篇文章的全部内容了,感兴趣的小伙伴可以看看,更多精彩内容关注腾创网www.tengchuangw.com
© 版权声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: 571533527@qq.com
THE END
暂无评论内容