J'essaie de sauvegarder mon système de fichiers avec la commande suivante:
tar -cvjf /fs.bz2 --exclude=/fs.bz2 --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys /
Cette commande a été exécutée et la sortie de chaque fichier a été traitée, et a progressé jusqu'à un certain fichier de 2 Go nommé 20130601.tgz
. J'ai décidé que je n'avais pas besoin de conserver ce fichier, et donc pendant que tar le traitait, j'ai supprimé ce fichier avec rm
.
tar semble toujours traiter le fichier car il n'a pas sorti le prochain fichier à traiter, et la taille du fichier bzip2 continue de croître. auparavant, tar semble reconnaître qu'un fichier avait changé pendant qu'il était édité et l'avait dit, et qu'il était passé au fichier suivant. J'ai également recréé le fichier avec la commande suivante: echo hello > 20130601.tgz
trois questions connexes:
EDIT: les questions numéro 1 et 2 sont répondues par la sortie suivante de ma commande:
tar: /srv/www/nachtkriecher.com/backups/20130601.tgz: file changed as we read it
La question 3 demeure cependant! Que faisait-il en attendant?
que se passe-t-il si je supprime un fichier pendant que tar le traite?
Absolument rien. La suppression d'un fichier supprime simplement le nom du répertoire. Le fichier lui-même est toujours là tant qu'il a un nom dans un autre répertoire, ou que tout processus l'a déjà ouvert. Comme tar
avait déjà ouvert le fichier, il continue de le traiter très bien.