linux文件传输及同步命令
解释: 命令 选线参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
scp (secure copy)用于远程的文件的复制
scp -r /soft/hadoop/ [root@hadoop1:/soft](mailto:root@hadoop1:/soft/)
rsync 是 remote sync 的缩写,用于linux系统下的数据镜像备份工具,远程服务器之间的文件拷贝.
特点:速度快,避免复制相同内容和支持符号链接的优点
rsync -rvl /soft/hadoop/ [root@hadoop1:/soft](mailto:root@hadoop1:/soft/)
r递归 v显示复制过程 l 拷贝符号链接
scp和rsync区别:rsync做文件的复制要比scp速度快,rsync只对差异文件做更新,scp是把所有的文件复制。
xsync集群分发脚本----循环复制文件到所有节点相同的目录下 。
脚本文件名称xsync及内容
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname='basename $p1'
echo fname=$fname
#3 获取上级目录到绝对路径
pdir='cd -P $(dirname $p1); pwd'
echo pdir=$pdir
#4 获取当前用户名称
user='whoami'
#5 循环,这里host根据自己的节点数和主机名设置
for((host=2; host<4; host++)); do
#echo $pdir/$fname $user@hadoop$host:$pdir
echo --------------- hadoop$host ----------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
修改脚本xsync具有执行权限,最好把xsync放到usr/local/bin以方便运行
chmod 777 xsync
运行脚本,将soft文件目录下所有问题复制到所有配置上
xsync /soft