首頁 > 軟體

rsync命令使用方法簡介

2020-06-16 16:38:01

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 問題解決


IT145.com E-mail:sddin#qq.com