GNU/Linux >> Linux Esercitazione >  >> Linux

rsync non eliminerà i file sulla destinazione

Soluzione 1:

Rimuovi * . Come accennato nelle pagine man di rsync, il file --delete l'opzione non funziona con i caratteri jolly.

Usa invece questo:

rsync -a --delete $DIR1/ $DIR2/

"--deleteQuesto indica a rsync di eliminare i file estranei dal lato di ricezione (quelli che non si trovano sul lato di invio), ma solo per le directory che vengono sincronizzate. Devi aver chiesto a rsync di inviare l'intera directory ( ad esempio dir o dir/ ) senza utilizzare un carattere jolly per i contenuti della directory (ad es. dir/* ) poiché il carattere jolly viene espanso dalla shell e rsync riceve quindi una richiesta per trasferire singoli file, non la directory principale dei file. I file esclusi dal trasferimento sono esclusi anche dall'eliminazione a meno che non si utilizzi il --delete-excluded o contrassegnare le regole come corrispondenti solo sul lato di invio (vedere i modificatori di inclusione/esclusione nella sezione REGOLE DI FILTRO)."

Soluzione 2:

Il motivo è perché stai chiamando rsync su /tmp/1/b, che non considererà affatto il file /tmp/1/a.

La tua intenzione sembra essere quella di rsync la directory /tmp/1/ -- se usi "/tmp/1/" come sorgente piuttosto che i singoli file, noterà che "a" è stato cancellato dalla directory e rimuoverà dal bersaglio.

Soluzione 3:

Se modifichi la seconda riga rsync in rsync -a --delete $DIR1/ $DIR2 (senza *) funzionerà. Il motivo è che la shell espande il * ai nomi dei file nella prima directory, che è solo b nel tuo caso, quindi il file mancante a non sarà considerato affatto da rsync, poiché il comando che viene eseguito è in realtà rsync -a --delete $DIR1/b $DIR2 .


Linux
  1. Elimina ricorsivamente i file in modo sicuro:distruzione

  2. Linux:eliminare in modo efficiente una directory di grandi dimensioni contenente migliaia di file?

  3. Opzione Rm per fallire su file inesistenti?

  4. Come silenziare selettivamente Rsync?

  5. Esempi pratici di comando rsync in Linux

Comando Rsync in Linux con esempi

Esempi di Rsync per trasferire file in Linux

cp -r senza file nascosti

file rsync più recenti di 1 settimana

Rsync file tramite host intermedio

Suggerimenti e trucchi preferiti per rsync