Rsync supprime-t-il les fichiers de la destination qui ont été supprimés du côté de l'envoi?

14

Rsync supprime-t-il les fichiers de la destination s'ils ont été supprimés de la source?

Par exemple, disons que dans la source / home / me, j'ai trois fichiers:

a.txt
b.txt
c.txt

Maintenant, j'exécute la commande rsync -v /home/me/ [email protected]:/home/backupet elle copie les fichiers a.txt, b.txtet c.txtvers /home/backup.

Le contenu de /home/backupest maintenant

a.txt
b.txt
c.txt

Si je devais supprimer a.txtde /home/me, seraient a.txtsupprimés de /home/backupla prochaine fois que je rsync d'exécution, est - il une option que je dois préciser ou est - il juste complètement impossible?

S'il existe des alternatives à rsync qui le font, elles sont également les bienvenues.

Note latérale: J'ai lu ceci et cela concernant ce sujet, mais je ne pouvais pas comprendre exactement ou voir comment c'était exactement lié à la question.

peut-être peut-être
la source

Réponses:

31

Uniquement si vous… sélectionnez l'une des options de suppression. Voir man rsyncpour plus d'informations, mais voici un extrait:

--delete                delete extraneous files from dest dirs
--delete-before         receiver deletes before xfer, not during
--delete-during         receiver deletes during the transfer
--delete-delay          find deletions during, delete after
--delete-after          receiver deletes after transfer, not during
--delete-excluded       also delete excluded files from dest dirs

Vous trouverez des informations plus détaillées sur ces options plus bas dans la manpage.

Sparhawk
la source
Juste pour confirmer, cela signifie que si je sélectionne --delete, rsync supprimerait les fichiers de la destination qui ont été supprimés de la source, faisant de la source et de la destination un miroir exact?
peut
3
Oui, mais lisez simplement la page de manuel! Il y a des mises en garde et des conseils, y compris le faire fonctionner avec --dry-run.
Sparhawk