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?

user27465
la source

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

Sven
la source
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

Andrés R. Gard
la source
-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.

arrayown
la source
-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.

Sridhar Sarnobat
la source
Vote négatif sans explication
Sridhar Sarnobat