Linux

CentOS rsync 目錄內容但不是目錄?

  • March 7, 2016

我正在嘗試將 /deploy/ 的內容填充到 /panda/ 但它似乎不起作用。我在這裡搜尋並找到了留下斜杠的說明;但是,每次我執行它時,都會在 /panda/ (因此 /panda/ /)中創建一個空白命名目錄,其中包含 /deploy/ 的內容,但我試圖在不創建新目錄的情況下實現這一點。我希望 /deploy/ 的內容覆蓋 /panda/ 的內容

這是我目前使用的程式碼:

rsync -ahrvz /home/jellywhat/public_html/deploy/ /home/jellywhat/public_html/panda/

我沒有在 /panda 中獲得“部署”目錄,我只是獲得了一個名稱為空的目錄,其中包含 /deploy/ 的內容

空白文件夾

我嘗試刪除接收目錄上的斜杠…

rsync -ahrvz /home/jellywhat/public_html/deploy/ /home/jellywhat/public_html/panda

這似乎沒有任何作用。我收到一封包含正確文件列表的電子郵件,其中包括 FileA.php,這是我用作參考的特定文件,但位於 /deploy/cfx_controllers/ 下的 FileA.php 沒有被複製到 /panda/ cfx_controllers/ 即使它是最近修改的文件並且在 /panda/cfx_controllers/ 下不存在

更新:下午 1 點 51 分

它實際上正在“工作”;它沒有更新現有的Pandas目錄,它正在製作一個全新的目錄:

文件夾複製

我怎樣才能讓它在不發生這種情況的情況下“更新”“現有”目錄?

更新:下午 2:36

我嘗試了帶有和不帶有斜杠的接收目錄。使用斜線,它會在父目錄中創建一個重複的目錄。如果沒有斜線,它將 /deploy/ 的內容放置在一個看似未命名的文件夾中。

在此處輸入圖像描述

是否有人對我無法讓此部署腳本實際部署文件的位置有任何指導?

此命令會將(但不是目錄名稱本身)的內容複製deploy到現有目標目錄中panda

rsync -ahrvz /home/jellywhat/public_html/deploy/ /home/jellywhat/public_html/panda/

源目錄上的尾部斜杠告訴rsync複製目錄內容而不複製目錄名稱本身。目標目錄上的尾部斜杠無關緊要。如果副本對您不起作用,那麼您沒有完全按照您在問題中所寫的那樣輸入命令。

請注意,使用沒有意義,-z因為您無法在本地複制期間壓縮文件。此外, the-r是隱含的,-a因此可以省略。


嗯,你現在說你正在創建的這個文件包含命令。如果您在 Windows 系統上創建它,請確保將其作為文本文件而不是二進製文件傳輸。否則文件行結尾會很礙事。

引用自:https://unix.stackexchange.com/questions/268235