rsync命令简单用法介绍

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 问题解决

  

posted on 2019-03-01 21:37  nmap  阅读(1013)  评论(0编辑  收藏  举报

导航