Linux下的scp 、rsync两种命令同步文件

SCP命令

scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

语法
scp  (选项)  (参数)
源文件:指定要复制的源文件。
目标文件:目标文件。格式为user@host:filename(文件名为目标文件的名称)。

-1:使用ssh协议版本1;
-2:使用ssh协议版本2;
-4:使用ipv4;
-6:使用ipv6;
-B:以批处理模式运行;
-C:使用压缩;
-F:指定ssh配置文件;
-l:指定宽带限制;
-o:指定使用的ssh选项;
-P:指定远程主机的端口号;
-p:保留文件的最后修改时间,最后访问时间和权限模式;
-q:不显示复制进度;
-r:以递归方式复制。
示例
# root 用户名

# 从远处复制文件到本地目录
# 从10.10.10.10机器上的/opt/soft/的目录中下载test.tar.gz 文件到本地/opt/soft/目录中。
scp root@10.10.10.10:/opt/soft/test.tar.gz /opt/soft/

# 从远处复制到本地
# 从10.10.10.10机器上的/data/www/中下载mongodb目录到本地的/data/www/目录来。
scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/

# 上传本地文件到远程机器指定目录
# 复制本地/data/www/目录下的文件test.tar.gz到远程机器10.10.10.10的/data/www/scptest目录。
scp /data/www/test.tar.gz root@10.10.10.10:/data/www/scptest


# 上传本地目录到远程机器指定目录
上传本地目录/data/www/mongodb到远程机器10.10.10.10上/data/www/scptest的目录中去。
scp -r /data/www/mongodb root@10.10.10.10:/data/www/scptest

rsync命令

在Linux系统中,rsync是一种功能强大且广泛使用的文件同步工具。它能够在本地和远程系统之间实现高效、快速的文件传输和同步,支持断点续传和快速安全的文件上传下载。

安装方法
yum install rsync
基本用法
sync [OPTIONS] SOURCE DESTINATION
# SOURCE指定源文件或目录,DESTINATION指定目标路径,可以是本地路径或远程主机路径。

# 常用参数及其功能
-a:归档模式,以递归方式传输文件,并保持文件属性(权限、时间戳等)。
-v:详细模式,输出传输过程中的详细信息。
-r:递归传输,用于同步目录及其子目录。
-z:压缩传输,减少数据传输量,加快传输速度。
--delete:删除目标中不存在于源的文件,保持目标与源的一致性。
--exclude:排除指定文件或目录,不进行同步。
--progress:显示传输过程中的进度信息。
--bwlimit:限制宽带限速
-e:指定远程shell连接命令(例如SSH) 
示例
# 本机上同步
rsync  -av /源目录  /被同步文件夹   

# 从本地上传文件到服务器
rsync -P -t -r -v -e [待传输文件] usr@IP:[接收目录]
 
# 从服务器下载文件到本地
rsync -P -t -r -v -e  usr@IP:[待传输文件] [接收目录]
 
# 本地文件夹同步:
# 将本地目录/path/to/source同步到/path/to/destination,保持权限和时间戳,并显示传输过程中的详细信息。 
rsync -av /path/to/source /path/to/destination
 
# 远程主机同步:
# 将本地目录同步到远程主机remote_host的/path/to/destination,使用SSH连接,并压缩传输以加快速度。

rsync -azv -e ssh /path/to/source remote_host:/path/to/destination
 
# 删除目标多余文件:
# 同步时,删除目标目录中不存在于源目录的文件。
rsync -av --delete /path/to/source /path/to/destination
 
# 排除特定文件和目录:
# 同步时排除/path/to/source/logs和/path/to/source/temp目录,并不进行传输。
rsync -av --exclude='logs' --exclude='temp' /path/to/source /path/to/destination

# 排除指定文件和目录
# --exclude-from=exclude.txt  exclude.txt里写入需要排除的文件
# --password-file=/etc/wap_pw136.txt 为密码文件
# --delete 同步时,删除目标目录中不存在于源目录的文件。
rsync -avzP --exclude-from=exclude.txt ./ wzb@127.0.0.1::test --chown=www:www --progress --password-file=/etc/wap_pw136.txt


rsync -avzP --exclude-from=exclude.txt ./ wzb@127.0.0.1::test --chown=www:www --progress  --delete --password-file=/etc/wap_pw56.txt

# 从指定服务器同步文件到本地
rsync -avz --exclude-from=exclude.txt wzb@127.0.0.1::test ./ --password-file=/etc/apitest_pw.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值