GNU/Linux >> Tutoriels Linux >  >> Linux

rsync ne supprimera pas les fichiers sur la destination

Solution 1 :

Supprimer le * . Comme mentionné dans les pages de manuel de rsync, le --delete l'option ne fonctionne pas avec les entrées génériques.

Utilisez ceci à la place :

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

"--deleteThis indique à rsync de supprimer les fichiers superflus du côté réception (ceux qui ne sont pas du côté envoi), mais uniquement pour les répertoires en cours de synchronisation. Vous devez avoir demandé à rsync d'envoyer tout le répertoire ( par exemple dir ou dir/ ) sans utiliser de caractère générique pour le contenu du répertoire (par exemple, dir/* ) car le caractère générique est développé par le shell et rsync reçoit donc une demande de transfert de fichiers individuels, et non le répertoire parent des fichiers. Les fichiers exclus du transfert sont également exclus de la suppression, sauf si vous utilisez le --delete-excluded ou marquez les règles comme ne correspondant qu'au côté expéditeur (voir les modificateurs d'inclusion/exclusion dans la section RÈGLES DE FILTRE)."

Solution 2 :

La raison est que vous appelez rsync sur /tmp/1/b, qui ne prendra pas du tout en compte le fichier /tmp/1/a.

Votre intention semble être de rsynchroniser le répertoire /tmp/1/ -- si vous utilisez "/tmp/1/" comme source plutôt que les fichiers individuels, il remarquera que "a" a été supprimé du répertoire et supprimera de la cible.

Solution 3 :

Si vous modifiez la deuxième ligne rsync en rsync -a --delete $DIR1/ $DIR2 (sans le *) cela fonctionnera. La raison est que le shell étend le * aux noms de fichiers dans le premier répertoire, qui n'est que b dans votre cas, donc le fichier manquant a ne sera pas du tout pris en compte par rsync, car la commande qui est exécutée est en fait rsync -a --delete $DIR1/b $DIR2 .


Linux
  1. Supprimer récursivement des fichiers en toute sécurité :déchiquetage

  2. Linux – Supprimer efficacement un grand répertoire contenant des milliers de fichiers ?

  3. Supprimer les mises à jour Windows téléchargées

  4. Linux Supprimer des fichiers et des répertoires

  5. cp -r sans fichiers cachés

Commande Rsync sous Linux avec des exemples

Exemples Rsync pour transférer des fichiers sous Linux

rsync N fichiers les plus récents dans un répertoire

fichiers rsync plus récents que 1 semaine

Fichiers Rsync via un hôte intermédiaire

Trucs et astuces préférés de rsync