rsync和scp区别

1、用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去覆盖。
2、文件时间不会被更改

scp(secure copy)安全拷贝,-r为递归

scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)

把/software/netcat-0.7.1.tar.gz文件拷到hadoop101服务器的/software目录

scp -r /software/netcat-0.7.1.tar.gz  hadoop101:/software

把根目录的testscp整个复制到hadoop101根目录

scp -r /testscp hadoop101:/

rsync远程同步工具,-a归档拷贝,-v显示复制过程

把根目录的testscp整个复制到hadoop101根目录

rsync -av /testscp hadoop101:/

xsync集群分发脚本

在/home/目录下创建xsync文件
vim xsync
先按i,然后粘贴以下内容

#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi

#2. 遍历集群所有机器
for host in hadoop100 hadoop101 hadoop102
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

按esc,输入:wq保存退出

修改脚本 xsync 具有执行权限

chmod +x xsync

把根目录的testscp整个复制到hadoop101、hadoop102根目录

/home/xsync /testscp