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@172.2.6.11:/tools/
root@172.2.6.11'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@172.2.6.11:/tools/
root@172.2.6.11'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@172.2.6.11:/tools/
root@172.2.6.11'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 问题解决

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12118.html