简单教你写xsync和xcall的脚本

简单教你写xsync和xcall的脚本xsync配置xsync脚本基于rsync工具,rsync远程同步工具,主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点,它只是拷贝文件不同的部分,因而减少了网络负担。rsync-rvl$pdir/$fname$user@hadoop$host:$pdir常用参数:-r,–recursive对子目录以递归模式处理-R,–relative使用相对路径信…

大家好,又见面了,我是你们的朋友全栈君。

xsync配置
xsync脚本基于rsync工具,rsync 远程同步工具,主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点,它只是拷贝文件不同的部分,因而减少了网络负担。

rsync -rvl $pdir/$fname $user@hadoop$host:$pdir

常用参数:
-r, –recursive 对子目录以递归模式处理
-R, –relative 使用相对路径信息
-l, –links 保留软链结
-v, –verbose 详细模式输出,传输过程可见

在/usr/local/bin 目录下创建 xsync 文件,向里面添加:

#!/bin/sh
# 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args...;
exit;
fi

#获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#获取当前用户名称
user=`whoami`
#循环
for((host=1; host<=2; host++)); do
echo $pdir/$fname $user@slave$host:$pdir
echo ==================slave$host==================
rsync -rvl $pdir/$fname $user@slave$host:$pdir
done

最后chmod a+x xsync给文件添加执行权限即可。

xcall配置
进入/usr/local/bin目录下,输入vim xcall,向里面添加:

#!/bin/sh
pcount=$#
if((pcount==0));then
        echo no args...;
        exit;
fi
echo ==================master==================
$@
for((host=1; host<=2; host++)); do
        echo ==================slave$host==================
        ssh slave$host $@
 done
---------------------

之后chmod a+x xcall给文件添加执行权限即可。

最后!!!要使用jps,需要在机器中添加软连接,根据自己jdk的路径自行更正即可。

ln -s -f  /usr/local/jdk1.8.0_152/bin/jps /usr/local/bin/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140002.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号