web-dev-qa-db-fra.com

rsync --delete et --exclude

Juste une petite question alors que je prépare une sauvegarde de mon serveur avant de le transférer de Tokyo en Allemagne.

La commande rsync utilise --delete pour se synchroniser entre la source et la cible, ainsi que --exclude pour éviter la copie de fichiers et de dossiers inutiles.

Cela fonctionnait bien il y a quatre ans, mais la quantité de données a considérablement augmenté depuis (comme d'habitude). Le premier essai a échoué après quelques heures de copie en raison d'un espace disque insuffisant.

Maintenant, j'aimerais ajouter plus d'options --exclude pour limiter l'utilisation des données. Si possible, je veux éviter de tout effacer et de repartir de zéro (cela prend plusieurs heures), ma question est la suivante:

Comment rsync --delete gère-t-il les répertoires récemment marqués comme --exclude?

Seront-ils supprimés sur la cible ou resteront-ils intacts?

3
ElHeineken

Il existe un certain nombre d'options de suppression avec rsync. Ils sont et fonctionnent comme suit:

            --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

Sur cette base, je suppose que vous recherchez le commutateur --delete-excluded

Remarque: Si le lecteur cible est déjà plein, il sera probablement nécessaire de libérer de l'espace avant de relancer rsync, faute de quoi il pourrait toujours échouer avec un espace disque insuffisant.

Vous pouvez entièrement éviter ce problème en choisissant une cible de taille suffisante pour contenir tout ce que vous souhaitez copier.

Source: man rsync

4
Elder Geek