J'ai trouvé la question Comment déterminer si les données sont un fichier tar valide sans fichier? , mais je me demandais: existe-t-il une solution de ligne de commande prête à l'emploi?
gzip
validation
tar
gunzip
comprendre
la source
la source
-v
si vous ne faites que diriger la sortie/dev/null
?-z
option est également inutile. Il ne fait rien en mode extraction ou liste.-z
C'est certainement le cas avec GNU tar - savez-vous si c'est vrai ailleurs (BSD, etc.)?tar.gz
? Des informations d'assistance?vous pouvez probablement utiliser l'option gzip -t pour tester l'intégrité des fichiers
http://linux.about.com/od/commands/l/blcmdl1_gzip.htm
depuis: http://unix.ittoolbox.com/groups/technical-functional/shellscript-l/how-to-test-file-integrity-of-targz-1138880
Pour tester le fichier gzip n'est pas corrompu:
Pour tester le fichier tar à l'intérieur n'est pas corrompu:
Dans le cadre de la sauvegarde, vous pourriez probablement simplement exécuter la dernière commande et vérifier la valeur de $? ensuite pour une valeur 0 (succès). Si le tar ou le gzip a un problème, $? aura une valeur non nulle.
la source
bzip2 -t file.bz2
pour les fichiers bz2.tar -t > /dev/null
(note:t
vs-t
)?Si vous voulez faire un vrai test d'extrait d'un fichier tar sans extraire sur le disque, utilisez l'option -O. Cela crache l'extrait vers la sortie standard au lieu du système de fichiers. Si le fichier tar est corrompu, le processus s'interrompra avec une erreur.
Exemple d'échec du test de la balle de goudron ...
Exemple de travail ...
la source
> /dev/null
pour l'exemple de travail.Vous pouvez également vérifier le contenu du fichier * .tag.gz en utilisant
pigz
(parallèle gzip) pour accélérer la vérification de l'archive:la source
J'ai essayé la commande suivante et elles fonctionnent bien.
Cependant, nous pouvons constater que ces deux commandes prennent du temps. Peut-être avons-nous besoin d'un moyen plus rapide pour déterminer l'intégrité des fichiers compressés.
la source
Une option intéressante est d'utiliser
tar -tvvf <filePath>
qui ajoute une ligne qui indique le type de fichier.Exemple dans un fichier .tar valide:
Fichier .tar corrompu:
la source
Ce sont toutes des solutions très sous-optimales. À partir de la spécification GZIP
Doit être codé dans la langue que vous utilisez.
la source
Parfois oui, mais parfois non. Voyons un exemple de fichier corrompu:
Ça montre:
Même si vous exécutez
tar a dit qu'il n'y avait pas d'erreur:
mais le fichier a été corrompu, il a maintenant "Fool" au lieu de "Pete".
la source