Comment nettoyer après l'échec de rsync?


12

J'ai tué un processus local "rsync -ah".
Il a laissé des fichiers indésirables comme ".abc.vmdk.zxivMN" dans le répertoire cible.
Les fichiers indésirables ne sont pas supprimés lors des exécutions consécutives "rsync -ah".

Détails:
J'ai exécuté diff sur les deux dossiers que je synchronisais et il a signalé: "Uniquement dans / mnt / archive1 / documents / general: .abc.vmdk.zxivMN"

Quelle est la meilleure façon de nettoyer les fichiers rsync temporaires?

Réponses:


12

Dites rsyncde supprimer les fichiers qui ne se trouvent pas sur la source, avec --delete-duringou --delete-after. Soyez prudent et utilisez cette option uniquement si vous n'avez pas de fichiers légitimes sur la cible qui ne sont pas là sur la source.

Tu vois man rsync.

Bien sûr, vous pouvez toujours supprimer manuellement les fichiers que vous avez détectés avec diff...


Ce n'est pas bon quand vous faites une copie plutôt qu'un mouvement.
Sridhar Sarnobat

6

Je le fais en utilisant

find -type f -iname ".*.*.??????" -ls

pour test et

find -type f -iname ".*.*.??????" -delete

pour clair


-1

J'ai trouvé que la commande suivante fonctionnait pour moi lorsque j'essayais de supprimer les fichiers temporaires laissés par rsync après un transfert échoué.

find vod-content/ -path '*/.*' -print0 | xargs -0 -r rm -v

Ce que cela fait, c'est qu'il trouve tous les fichiers "cachés" (les fichiers qui commencent par le caractère ".") Et les transmet à la commande "rm" pour les supprimer.

Un problème connu évident concernant le code ci-dessus est que si votre contenu contient des fichiers cachés, cette commande les supprimera également.


-2

Je cherche une meilleure solution, mais la seule à laquelle je peux penser est de déplacer tous les emptyfichiers commençant par un .et contenant deux autres points dans un dossier poubelle (l'utilisation rmest un peu risquée):

find -type f -empty -iname ".*.*.*" | xargs -n 1 -d'\n' mv -v -t /tmp/

En aucun cas infaillible.


Vote négatif sans explication
Sridhar Sarnobat
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.