Je reçois beaucoup d'avertissements lors de la sauvegarde de mes fichiers serveur Postfix et Courier en cours d'exécution, comme:
file has vanished: /var/kunden/mail/username/[email protected]/tmp/courier.lock
Comment puis-je supprimer ces avertissements rsync
lors de son exécution à partir de Cron /usr/bin/rsnapshot hourly
?
Puis-je en quelque sorte exclure ces répertoires?
/var/kunden/mail/*/*/tmp/
le tmp
dossier peut également être plus profond, par exemple:
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/1353871473.M716135P32214_imapuid_36.test.de
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/courier.lock
rsync -a --exclude '/var/kunden/mail/*/*/tmp/' --exclude '/var/kunden/mail/*/*/*/tmp/' /var/kunden/ $SERVER/var_kunden/
?/tmp/
que je les ai écrits. Si vous voulez être plus explicite, alors oui, vous pouvez le spécifier comme vous l'avez écrit.--exclude='/tmp/'
exclut uniquement le répertoire appelétmp
à la racine de la copie. Pour exclure tous les sous-répertoires appeléstmp
n'importe où, utilisez--exclude='**/tmp/'
.Malheureusement, contrairement à ce qui est décrit dans la solution SWdream,
--ignore-missing-args
n'a aucun impact sur les fichiers disparus. Il ignorera simplement les arguments source qui n'existent pas.Voir
man rsync
:La manière "officielle" d'ignorer le fichier disparu est d'utiliser ce script à partir du référentiel source rsync officiel: https://git.samba.org/?p=rsync.git;a=blob_plain;f=support/rsync-no- disparu; hb = TETE
ce qui est très similaire à ce que @kenorb et @ gilles-quenot ont dit.
la source
La raison en est que ces fichiers existaient pendant que rsync construit la liste des fichiers à transférer, mais ils sont supprimés avant le transfert.
C'est un massage d'avertissement, pas une erreur. Cependant, vous devriez essayer de savoir pourquoi ces fichiers ont été supprimés, c'est peut-être important.
Pour ignorer cet avertissement, vous pouvez utiliser l'option --exclude comme la question ci-dessus ou utiliser l'
-ignore-missing-args
option rsync, cela fait que rsync ignore les fichiers disparus:--ignore-missing-args ignore missing source args without error
cela peut être utile.la source
L'erreur signifie que
rsync
vous ne pouvez plus trouver les fichiers qui existaient lors de la création de la liste à transférer. Ces erreurs de fichiers disparus se produisent lorsqu'un fichier a été initialement trouvé présent et n'est plus là plus tard. Dans certains cas, cela se produit également lorsque les fichiers source sont corrompus ou contiennent des caractères non valides (ilfsck
est donc conseillé).Fondamentalement, il s'agit d'un avertissement, pas d'une erreur, donc rien à craindre, car l'état de chaque fichier de destination reflète un état correspondant aux fichiers source correspondants pendant l'exécution.
Si cela pose problème car la valeur de sortie est différente de zéro, cela peut être résolu par le script d'encapsulation suivant ( source ):
ou par le script de contournement suivant ( source ):
qui existe essentiellement avec les mêmes codes d'erreur que rsync si rsync échoue.
Ceci est discuté plus en détail dans: Bogue 3653 - Réduit la nécessité de l'avertissement "fichiers disparus"
la source
Ou simplement (avec bash moderne ):
la source
vanished
?Ma réponse pourrait être un cas d'utilisation spécial, mais j'ai pensé que cela valait la peine d'être noté, afin que les gens ne perdent pas de données s'ils tombent dans ce cas.
J'obtenais ce message pour plusieurs fichiers lors d'une sauvegarde de routine des disques via rsync.
J'ai effectué une vérification du système sur le disque et il s'avère qu'il y a des problèmes avec le lecteur (allocation / corruption de fichiers, etc.) et recommandé une sauvegarde + restauration + reformatage.
Donc, avant de supprimer ou d'ignorer le message, il peut être judicieux de simplement effectuer un contrôle de santé sur votre disque juste pour être en sécurité.
la source
tmp
répertoires.Essayez de monter votre disque de sauvegarde avec des
nosuid,nodev,nofail,x-gvfs-show
options.Je ne sais pas quel système vous utilisez, mais je pense que cela est lié aux options de montage de votre disque. Sous Linux, cela se produit si je définis les options de montage sur
User Session Default
. Il se résout lorsque je le désactive et rsync se termine sans aucune erreur.la source
Utilisez ce paramètre:
pour mettre la liste dans un fichier. Dans le fichier exclude.ini, écrivez quelque chose comme:
Où:
N'oubliez pas que si le système de fichiers dépend de la casse, vous devrez peut-être en tenir compte.
la source