rsync命令简单用法介绍

本文介绍如何使用rsync命令通过SSH进行文件同步,并特别关注如何指定非标准SSH端口。通过使用-e参数和ssh的-p选项,可以轻松地在不同服务器之间传输文件,即使这些服务器使用的是自定义SSH端口。

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

rsync有两种常用的认证方式,一种为rsync-daemon方式,另外一种则是ssh。
在一些场合,使用rsync-daemon方式会比较缺乏灵活性,ssh方式则成为首选。但是今天实际操作的时候发现当远端服务器的ssh默认端口被修改后,rsync时找不到一个合适的方法来输入对方ssh服务端口号。
在查看官方文档后,找到一种方法,即使用-e参数。
-e参数的作用是可以使用户自由选择欲使用的shell程序来连接远端服务器,当然也可以设置成使用默认的ssh来连接,但是这样我们就可以加入ssh的参数了。

假如对方机器的sshd端口改成1234  那么再次使用rsync的传输文件时候如下使用
rsync -e 'ssh -p 1234' username@hostname:SourceFile DestFile

 

用法如下,下面由于ssh端口是默认的22的话,可以吧-e  " ssh -p 22"去掉

[root@linux-node1 tools]# rsync -avz  -e " ssh -p 22"  * root@10.0.3.21:/tools/
root@10.0.3.21's password: 
sending incremental file list

sent 145 bytes  received 12 bytes  44.86 bytes/sec
total size is 228404490  speedup is 1454805.67
[root@linux-node1 tools]# touch  1
[root@linux-node1 tools]# rsync -avz  -e " ssh -p 22"  * root@10.0.3.21:/tools/
root@10.0.3.21's password: 
sending incremental file list
1

sent 191 bytes  received 31 bytes  88.80 bytes/sec
total size is 228404490  speedup is 1028849.05
[root@linux-node1 tools]# 

  

 

rsync命令可以当成是高级版的cp+scp

它可以跨机器复制(同步)文件,下面的参数自行百度即可。

# 执行“推”复制同步
[osmond@soho ~]$ rsync -avz --delete /var/www   root@192.168.0.101:/var/www

# 执行“拉”复制同步
[osmond@cnetos5 ~]$ rsync -avz --delete    root@192.168.0.55:/var/www /var/www

 

 

另外注意下,使用rsync命令的时候,自己的主机和对方的主机都需要安装它,否则会报错

[root@linux-node1 tools]# rsync -avz  -e " ssh -p 22"  * root@10.0.3.21:/tools/
root@10.0.3.21's password: 
bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(600) [sender=3.0.6]
新服务器(目标服务器)执行命令 yum install rsync -y 问题解决

  

转载于:https://www.cnblogs.com/nmap/p/8191227.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值