2009-02-02 153 views
12

文件foo.txt的遠程機器上存在:/home/user/foo.txt使用rsync刪除單個文件

它不會在本地計算機上存在。

我想使用rsync刪除foo.txt。

我不知道(並且出於這個問題的目的,我找不到)本地或遠程機器上/ home/user中的其他文件是什麼,所以我不能只同步整個目錄。

什麼rsync命令我可以用來刪除遠程機器上的foo.txt?

回答

26

試試這個:

rsync -rv --delete --include=foo.txt '--exclude=*' /home/user/ [email protected]:/home/user/ 

(強烈建議用--dry-run首先測試它運行),雖然它看起來像它會更容易使用ssh ...

ssh [email protected] "rm /home/user/foo.txt" 
+0

無法爲此使用SSH。 (這是一個政策的事情,而不是技術的東西;)) – dirtside 2009-02-02 23:03:43

+0

另外: rsync:link_stat「/home/user/foo.txt」失敗:沒有這樣的文件或目錄(2) – dirtside 2009-02-02 23:06:37

6

這是一個有點微不足道,但是如果像我一樣來到這個頁面尋找一種方法來使用rsync從遠程服務器上刪除一個目錄的內容,那麼我就是這麼做的:

  1. 創建一個空文件夾模仿:

    的mkdir模擬

  2. 同步與它

    rsync的-arv --delete --dry運行〜/模擬/ remote_server的:〜/ dir_to_clean/

  3. 從上面的行刪除--dry-run實際上做的事情。