Centos7——scp和rsync

1.scp

scp就是secure copy安全拷贝 ,用于将文件或者目录从一个Linux系统拷贝到另一个linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全。

格式:

scp 远程用户名@ip地址:文件的绝对路径 本地Linux系统路径 (从远程主机拉取文件)

scp 本地linux系统文件路径 远程用户名@ip地址:远程系统文件绝对路径名 (像远程主机推送文件)

 使用 -P参数可跟端口号,指定远程连接的端口号。
 当报错 "not a regular file";可加参数 -r 解决,当拉取或推送的是目录时需加 -r 参数

2.rsync 远程同步工具

rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。

1.联网安装rsync

[spark@spark202 ~]$ yum install -y rsync

安装完成

2.格式

rsync 选项参数  要拷贝的文件路径/名称 远程用户名@ip地址:远程系统文件绝对路径名

-r:--recursive:递归到目录中去。

-v :显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息。

-l:--links:如果文件是软链接文件,则拷贝软链接本身而非软链接所指向的对象。

另外,使用rsync一定要注意的一点是,源路径如果是一个目录的话,带上尾随斜线和不带尾随斜线是不一样的,不带尾随斜线表示的是整个目录包括目录本身,带上尾随斜线表示的是目录中的文件,不包括目录本身。例如:

rsync -a /etc /tmp
rsync -a /etc/ /tmp

第一个命令会在/tmp目录下创建etc目录,而第二个命令不会在/tmp目录下创建etc目录,源路径/etc/中的所有文件都直接放在/tmp目录下。

3.xsync集群分发脚本

循环复制文件到所有节点的相同目录下

/home/spark/bin这个目录下存放的脚本,spark用户可以在系统任何地方直接执行。

在/home/spark目录下创建bin目录,并在bin目录下xsync创建文件,文件内容如下

[spark@spark202 ~]$ cd /home/spark/
[spark@spark202 ~]$ mkdir bin
[spark@spark202 ~]$ cd bin/
[spark@spark202 bin]$ touch xsync
[spark@spark202 bin]$ vim 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 循环
for((host=202; host<205; host++)); do
        echo ------------------- spark$host --------------
        rsync -rvl $pdir/$fname $user@spark$host:$pdir
done

修改脚本 xsync 具有执行权限

[spark@spark202 bin]$ chmod 777 xsync 

调用脚本形式:xsync 文件名称

[spark@spark202 bin]$ xsync /home/spark/bin

 

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值