Ftp

如何使用rsync <3.0指定相對上傳路徑,生成子文件夾

  • October 20, 2010

我正在編寫一個腳本,我想上傳單個文件並自動生成文件夾結構,如 mkdir -p 但我無法讓 rsync 2.6.9(兩者)合作。

看起來 rsync 只製作一級文件夾,否則會出錯。

我正在嘗試重現方便ncftpput -C -R -m remote-host local-path-name remote-path-name的操作(ncftp 的遞歸模式;複製整個目錄樹 + 嘗試在複製之前創建遠端目標目錄。)。

可能的?

我的嘗試:

rsync -av -e ssh /home/gitrepos/www/board/httpdocs/B/C/delete_snippet.processor.php user@testboard.org:/var/www/vhosts/testboard.org/httpdocs/B/C/delete_snippet.processor.php

返回:

rsync:push_dir#3“/var/www/vhosts/testboard.org/httpdocs/B/C”失敗:沒有這樣的文件或目錄(2)

rsync -av -e ssh /home/gitrepos/www/board/httpdocs/B/C/delete_snippet.processor.php user@testboard.org:/var/www/vhosts/testboard.org/httpdocs/

工作,創建 httpdocs,但沒有 B/C 結構。

rsync -advR -e ssh -v /home/gitrepos/www/board/httpdocs/B/C/delete_snippet.processor.php user@testboard.org:/var/www/vhosts/testboard.org/httpdocs/

工作,但在伺服器上重新創建整個 /home/gitrepos… 結構。

權限設置為 777 並由使用者擁有。

感謝幫助。

如果您使用 rsync 2.6.7 或更高版本,您可以嘗試在 httpdocs 之後使用點斜杠方法來限制目錄。試試這個:

rsync -advR -e ssh -v /home/gitrepos/www/board/httpdocs/./B/C/delete_snippet.processor.php user@testboard.org:/var/www/vhosts/testboard.org/httpdocs/

引用自:https://serverfault.com/questions/192954