Как проверить архивы на целостность (linux) форсированно?

Garin33
На сайте с 31.08.2009
Offline
169
6387

Добрый вечер серч!

Вопрос с линуксоидам - как проверить tar.gz архивы, лежащие в разных папках на целостность?

Просто проверка файлов в текущей папке - это все понятно

gzip -vt *.tar.gz

А как провести форсированную проверку, если в папке лежит еще множество подпапок, в которых так же могут быть архивы?

Пока додумал - сделать поиск всех архивов и вывести результат в файл

find / -name *.tar.gz>file

А как проверить теперь каждый из файлов? Засунуть в переменную что-ли всё, а потом проверить... Вот как это реализовать не допру, кто что может подсказать?

Потому что Drupal - это круто.
Electronn
На сайте с 01.02.2010
Offline
91
#1

Попробуйте засунуть в массив и из массива проверять с echo. Что-то типа того :

#!/bin/bash

arr=`find / -name *.tar.gz`;

for i in ${arr[@]};

do

gzip -vt $i.tar.gz

echo "archive $i check "

done

Garin33
На сайте с 31.08.2009
Offline
169
#2

Спасибо, пробую - выдает мне

123.sh: 6: Bad substitution
Nanotik
На сайте с 20.11.2010
Offline
27
#3

То же, но вариант в одну строку:

find / -name "*.tar.gz" | while read archive; do gzip -vt $archive; echo archive $archive is check; done;

Garin33
На сайте с 31.08.2009
Offline
169
#4

Nanotik все работает! Решено, благодарю :).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий