rsync命令簡單用法介紹

rsync有兩種經常使用的認證方式,一種爲rsync-daemon方式,另一種則是ssh。
在一些場合,使用rsync-daemon方式會比較缺少靈活性,ssh方式則成爲首選。可是今天實際操做的時候發現當遠端服務器的ssh默認端口被修改後,rsync時找不到一個合適的方法來輸入對方ssh服務端口號。
在查看官方文檔後,找到一種方法,即便用-e參數。
-e參數的做用是可使用戶自由選擇欲使用的shell程序來鏈接遠端服務器,固然也能夠設置成使用默認的ssh來鏈接,可是這樣咱們就能夠加入ssh的參數了。node

假如對方機器的sshd端口改爲1234  那麼再次使用rsync的傳輸文件時候以下使用
rsync -e 'ssh -p 1234' username@hostname:SourceFile DestFilelinux

 

用法以下,下面因爲ssh端口是默認的22的話,能夠吧-e  " ssh -p 22"去掉shell

[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+scpbash

它能夠跨機器複製(同步)文件,下面的參數自行百度便可。服務器

# 執行「推」複製同步
[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命令的時候,本身的主機和對方的主機都須要安裝它,不然會報錯ssh

[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 問題解決
相關文章
相關標籤/搜索