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.linuxidc.com/Linux/2019-03/157549.htm

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章