2011-10-23 22 views
5

Mam program rsync do odzwierciedlenia katalogu z serwera źródłowego (a) na serwer lustrzany (b). Dostałem go, aby wysłać nowe pliki, które są w źródle, ale kiedy usuwam plik ze źródła, to nie kończy się usunięciem.Nie można usunąć Rsync

Poniżej jest co używam zadzwonić rsync:

rsync -vhzrplt --stats --delete --rsh='/usr/bin/ssh -q' --exclude="core/" --exclude="cache/" /home/(a)/public_html (b):/home/(b)/public_html/ 

Kiedy uruchamiam rsync otrzymuję poniżej wyjściowa:

stdin: is not a tty 
sending incremental file list 
public_html/ 
deleting public_html/test.html 

Number of files: 389 
Number of files transferred: 0 
Total file size: 3.16M bytes 
Total transferred file size: 0 bytes 
Literal data: 0 bytes 
Matched data: 0 bytes 
File list size: 9.25K 
File list generation time: 0.001 seconds 
File list transfer time: 0.000 seconds 
Total bytes sent: 9.33K 
Total bytes received: 47 

sent 9.33K bytes received 47 bytes 1.25K bytes/sec 
total size is 3.16M speedup is 336.81 

Jak widać to pokazuje, że to jednak usunięcie test.html nigdy tego nie robi. Każda pomoc jest doceniana.

+0

Należy do supe ruser? – Amy

Odpowiedz

1

udało mi się rozwiązać ten problem za pomocą tego zamiast:

rsync -vhzrplt --stats --delete --rsh='/usr/bin/ssh -q' --exclude="core/" --exclude="cache/" /home/(a)/public_html/ (b):/home/(b)/public_html/ 
+2

Czy końcowa '/' w '/ home/(a)/public_html /' zmiana, która rozwiązała ten problem? –

+0

dlaczego nie zgłosić, co się zmieniło, dziękuję – cmcginty

+0

Wszystko działało, gdy wstawiam końcowe znaki "/" po nazwach katalogów (w wykluczeniu, lokalizacji docelowej i nazwach katalogów źródłowych). –

1

rsync ma mnóstwo opcji - patrz man rsync

np

 --del     an alias for --delete-during 
     --delete    delete extraneous files from dest dirs 
     --delete-before   receiver deletes before transfer (default) 
     --delete-during   receiver deletes during xfer, not before 
     --delete-delay   find deletions during, delete after 
     --delete-after   receiver deletes after transfer, not before 
     --delete-excluded  also delete excluded files from dest dirs 

To naprawdę zaleca się przeczytać, że strona man dokładnie, ponieważ jest tak wiele przydatnych opcji ..