hadoop中发送文件的脚本

多台主机执行相同的命令

[xcall]

[/usr/local/bin]

sudo nano xcall

-------------------------------------------------------------------

#!/bin/bash

#获取参数个数

pcount=$#

if(pcount<1);then

echo no agrs

exit;

fi

for((host=100;host<103;host=host+1));do

echo-------s$host----------

ssh s$host $@

done

-----------------------------------------------------------

使用:xcall ls /home/neworigin/Desktop

【scp】

scplinux系统下基于ssh登陆进行安全的远程文件拷贝命令。linuxscp命令可以在linux服务器之间复制文件和目录.

①将s100上的文件复制给s101

scp -r /home/neworigin/1.txt neworigin@s101:/home/neworigin/

【rsync】

在多台主机之间同步更新变化的文件,避免复制相同的内容

rsync -rvl /home/neworigin/1.txt  neworigin@s101:/home/neworigin/

利用rsync创建xsync脚本

功能:实现同步发送文件到多台主机

【xsync】

[/urs/local/bin]

sudo nano xsync

sudo chmod 777 xsync

--------------------------------------------------------

#!/bin/bash     

pcount=$#           参数个数

if((pcount<1));then

echo no args

exit; 

fi

p1=$1

fname=`basename $p1`(获取传进的参数名称)

pdir=`cd -p $(dirname $p1);pwd`  

echo pdir

cuser=`whoami`

for((host=101;host<104;host=host+1));do

echo --------s$host------

rsync -rvl $pdir/$fname $cuser@s$host:$pdir

done

--------------------------------------------------------------

注:

basename:

获取文件的名称

Whoami:

获取当前用neworigin)

dirname:

获取当前的上级目录

原文地址:https://www.cnblogs.com/chengdonghui/p/7826523.html