Linux中不同节点之间的文件传输(scp 和 rsync)

本文介绍了scp和rsync两个常用的在主机间进行文件传输和同步的工具,特别强调了rsync的增量复制功能,以及如何在集群环境中使用它们提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、简介

        不同主机之间的文件相互传输,我们通常使用scp命令进行全量复制,但是这种效率不高,因此在第一次使用scp命令进行全量复制,增量复制采用rsync命令。

2、scp命令

        scp命令用于不同主机之间文件复制,采用ssh协议来保证复制的安全性。

scp [-参数] [用户1@主机:]文件 [用户2@主机:]文件 
2.1、常用参数
参数描述
r递归复制整个目录
p传输后保留文件的原始属性
l指定传输带宽(单位:kb/s)
P指定传输的端口号
q不显示传输进度
C压缩传输
2.2、常用命令
# 1、将本地文件传输到另一台服务器
scp [-r] 文件夹/文件  用户名@主机:文件夹/文件
# 2、两台主机之间文件传输
scp [-r] 用户名@主机1:文件夹/文件 用户名@主机2:文件夹/文件
3、rsync 命令

        rsync 命令是一款开源的、快速的、多功能、可实现全量及增量的本地或者远程数据同步工具。

安装:

yum -y install rsync

命令格式: 

# 1、本地模式
rsync [-参数] 源文件  目标文件
# 2、远程拉取
rsync [-参数] 用户@主机:源文件  目标文件
# 3、远程推送
rsync [-参数] 源文件 用户@主机:目标文件
3.1、常用参数
参数描述
z传输时进行压缩
r以递归的方式进行传输
a以递归的方式进行传输,保留文件属性
l保留软连接
v传输显示进度
--exclude=排除不需要传输的文件
--delete目标目录和源目录下的内容保持一致,以源目录为准,目标目录多的自动删除。
3.2、常用命令
# 1、同步目录
rsync -avz  源目录  目标目录
# 2、同步文件
rsync -avz 源文件  目标文件
# 3、远程同步
rsync -avz  用户@主机:源目录  目标目录
rsync -avz  源目录  用户@主机:目标目录
3.3、集群同步文件脚本(xsync)
#!/bin/bash
# 1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi
#2. 遍历集群所有机器
for host in "node-1" "node-2" "node-3"
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

注:将上述脚本放在 /usr/local/bin目录下,并且赋予权限。

chmod 777 xsync

使用脚本:

xsync 文件/文件夹
4、总结

        本文介绍两种集群运维常用工具,在集群主机之间进行文件同步,使用这两个工具可以帮助我们更加快速进行集群管理。 

         本人是一个从小白自学计算机技术,对运维、后端、各种中间件技术、大数据等有一定的学习心得,想获取自学总结资料(pdf版本)或者希望共同学习,关注微信公众号:it自学社团。后台回复相应技术名称/技术点即可获得。(本人学习宗旨:学会了就要免费分享)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知其_所以然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值