2009-05-02 46 views
4

之間進行rsync我有,我存儲從一個蘋果和Mac B.無法在我的服務器和我的Mac

我使用rsync保持我的Mac之間更新的文件數據的服務器。

我運行下面的代碼失敗

#!/bin/zsh 

# to copy files from my server to my folder 
rsync -Pav $Masi:~/private/ ~/Dropbox/Courses/math/ 

# to copy files from my folder to my server 
rsync -Pav ~/Dropbox/Courses/math $Masi:~/private/ 

我收到以下錯誤消息

ssh: connect to host port 22: Connection refused 
rsync: connection unexpectedly closed (0 bytes received so far) [receiver] 
rsync error: unexplained error (code 255) at io.c(600) [receiver=3.0.5] 
ssh: connect to host port 22: Connection refused 
rsync: connection unexpectedly closed (0 bytes received so far) [sender] 
rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.5] 

我有SSH密鑰到位,使連接應該工作,因爲我可以使用scp沒有問題。

如何在我的服務器和我的一臺Mac之間使用rsync?

+2

你說scp的作品,但rsync不?這很奇怪。你可以使用ssh啓動與遠程Mac的shell會話嗎? – 2009-05-02 01:15:29

+2

瑪斯,你應該看看新的http://serverfault.com/網站。它適用於這些類型的行政問題。這個網站應該用於編程相關的問題。 – 2009-05-02 01:40:47

回答

3

我以前做了很多本。只是跑了一個測試,幾個建議。

  1. 拼出你的整個用戶@主圖案
  2. 運行ssh連接SAN的rsync的第一,你可能需要先批准您的指紋
  3. 你似乎並不傳遞一個標誌保護擴展屬性,這可能會在OS X上產生損壞的文件。如果您不需要資源分支,那麼您可以,但大多數情況下您確實需要它們。

我的測試用例:

$ rsync -Pav ~/Desktop/ [email protected]:~/rsyc-test 

在這種情況下,中〜/桌面中的所有文件複製到遠程主機上,在我的家目錄。由於目錄'rsyc-test'不存在,它是爲我設計的。我在我的桌面上安裝了一個.app,它讓它結束了,令人驚訝的是,它工作正常。甚至有一些.webloc文件也能生效,但我不相信它。

我會強烈建議增加在-E標誌

-E, --extended-attributes 
     Apple specific option to copy extended attributes, resource 
     forks, and ACLs. Requires at least Mac OS X 10.4 or suitably 
     patched rsync. 

我跑了一個新的測試,移動的Interarchy書籤到我的桌面,我知道一個事實,這些突破,如果他們被複制SANS資源叉。在-E和-E之間運行時,xvid數據中有152個字節的差異。遠程機器上的第一個文件不起作用,第二個傳輸的文件確實起作用。

我不禁注意到你的例子中你的一個路徑是〜/ Dropbox,所以這可能都不重要,因爲應用程序DropBox根本不支持資源分支,儘管我聽說有計劃在將來。

如果您的最終目標是數據的鏡像,您沒有收到,如果您的最終目標是持續增長的備份,保留了以前的所有內容,那麼您也不會發送--delete標誌來源,缺少 - 刪除是好的。

其他說明:
您可以排除那些愚蠢的東西。DS_Store文件 --exclude'.DS_Store'

您還可以將rsync設置爲真正的鏡像,因此您不需要運行其他命令,請參閱手冊頁以瞭解詳細信息。

我最後的工作命令推我的筆記本電腦的桌面到遠程計算機:

$ rsync -PEav --delete --exclude '.DS_Store' ~/Desktop/ [email protected]:~/rsycn-test 
1

選中「$ Masi」。這是你想要達到的主機名嗎?

嘗試通過以下命令進行調試:

rsync -e 'ssh -v' -Pav $Masi:~/private/ ~/Dropbox/Courses/math/ 
1

連接被拒絕通常當有連接問題到遠程(例如防火牆)發生。

在你的情況下,問題是$Masi變量是空的。如果它不可變,請使用Masi

按照這樣的錯誤:

ssh: connect to host port 22: Connection refused

注意上面的host字後的雙空間。

連接到主機消息不會告訴哪個主機,所以你試圖連接到空主機。所以它聽起來像主機名中的一個錯字。

相關問題