2013-02-15 33 views

回答

102

您可以按照與目錄相同的方式進行操作,但可以指定文件名的完整路徑作爲源。在您的例子:

rsync -avz /var/www/public_html/.htaccess [email protected]<remote-ip>:/var/www/public_html/

+1

哇真的是那麼簡單嗎? – 2013-02-15 05:03:33

+30

是的。和不。但主要是,是的。 :] – 2013-02-15 05:05:09

+12

另外,如果您只發送一個文件,您可能需要添加「--progress」參數,以便您可以觀察它的進度。 – JoshStrange 2014-02-28 20:48:28

9

邁克爾廣場的回答的偉大工程,如果,相對於根目錄的源和目標,都在該文件的路徑的目錄已經存在。

但是,如果你想與這個源路徑的文件同步的內容:

/源根/ A/B /文件

與下面的目標路徑下的文件:

/目標根/ A/b /文件

和目錄一個b不存在?

你需要像下面運行的rsync命令:

rsync -r --include="https://stackoverflow.com/a/" --include="https://stackoverflow.com/a/b/" --include="https://stackoverflow.com/a/b/file" --exclude="*" [source] [target]

+1

將單個文件複製到現有文件夾或提前創建文件夾不是更安全嗎?在文件夾或文件夾內容同步的情況下,讓我們的rsync創建所有子文件夾,畢竟它是它的工作,但在這種特殊情況下,僅僅複製單個文件的--include參數太麻煩和棘手了。 – 2016-02-29 14:44:09

+0

@ user1598390我不確定你假設或想象什麼情況下,這種情況會不太安全,但如果你想記住這個命令的具體形式,而且你沒有經常這樣做,那麼是的可能不太安全,然後複製單個文件。如果文件很大,這可能會更安全,也就是說,由於rsync會自動處理複製過程中可能發生的大多數錯誤。對於某些上下文,我的語法對我來說特別有用,因爲我編寫了以這種形式生成命令的代碼,因此,如果對相關代碼進行了充分的測試,則這些命令是「安全的」。 – 2016-02-29 14:51:09