Skip to content

Home Администрирование Использование модуля tarfile для проверки содержимого файлов TAR
Использование модуля tarfile для проверки содержимого файлов TAR

Теперь, когда у нас имеется инструмент создания файлов TAR, есть смысл попробовать проверить содержимое файлов TAR. Создать файл TAR - это лишь полдела. Если вы проработали системным администратором достаточно продолжительное время, вам, вероятно, случалось «погореть» с некачественной резервной копией или случалось быть обвиненным в создании некачественной резервной копии.

Чтобы воспроизвести эту ситуацию и подчеркнуть важность проверки архивов TAR, мы поделимся историей о нашем вымышленном друге, которую назовем «Проблема пропавшего архива TAR». Имена, названия и факты являются вымышленными. Любые совпадения с действительностью являются случайными.

Наш друг работал в крупной телестудии в качестве системного администратора и отвечал за поддержку отдела, во главе которого стоял по-настоящему невыдержанный человек. У этого руководителя была репутация неправдивого, импульсивного и невыдержанного человека. Если возникала ситуация, когда этот сумасшедший совершал промах, например не укладывался в оговоренные с клиентом сроки или выполнял свою часть программы не в соответствии с требуемыми характеристиками, он с большим удовольствием лгал и перекладывал ответственность на кого-нибудь дPyroго. Зачастую этим кем-нибудь другим оказывался наш друг, системный администратор.

К сожалению, наш друг отвечал за содержание резервных копий этого сумасшедшего. Ему уже стало казаться, что настало время подыскивать другую работу, но он работал в этой студии уже много лет, у него было много друзей, и он не хотел потерять все из-за этих временных неурядиц. Ему требовалась система, позволяющая убедиться, что он охватил резервированием все данные, и поэтому он ввел регистрационную систему, которая классифицировала содержимое всех архивов TAR, которые автоматически создавались для этого сумасшедшего, так как понимал, что может «погореть», и это лишь вопрос времени, когда сумасшедший опять не уложится в сроки и ему потребуется причина для оправдания.

Однажды нашему другу Вильяму позвонил начальник и сказал: «Вильям, зайдите ко мне немедленно, у нас неприятности с резервными копиями». Вильям сразу же пошел к начальнику и узнал, что этот сумасшедший, Алекс, обвинил Вильяма в повреждении архива со съемкой телешоу, из-за чего произошла задержка с передачей программы клиенту. Срыв Алексом сроков сдачи совершенно вывел Боба, начальника Алекса, из себя.

Начальник сказал Вильяму, что, по словам Алекса, резервная копия содержала только поврежденные файлы и что из-за этого были сорваны сроки подготовки шоу. В ответ Вильям сказал боссу, что был уверен в том, что рано или поздно его обвинят в порче архива и поэтому втайне написал на языке Python сценарий, который проверяет содержимое всех создаваемых им архивов TAR и записывает расширенные сведения об атрибутах файлов до и после резервного копирования. Оказалось, что Алекс так и не приступал к работе над шоу и что в течение нескольких месяцев архивировалась пустая папка.

Когда Алекс был поставлен перед фактами, он быстро пошел на попятную и попытался перевести внимание на другую проблему. К несчастью для Алекса, этот случай стал последней каплей и пару месяцев спустя он исчез с работы. Возможно, он уехал или был уволен, но это уже не важно, наш друг успешно решил проблему пропавшего архива TAR.

Мораль этой истории заключается в том, что, когда приходится иметь дело с резервными копиями, с ними следует обращаться как с ядерным оружием, так как резервные копии могут хранить в себе такие опасности, о которых вы даже не подозреваете.

Ниже демонстрируется несколько способов проверки содержимого файла TAR, созданного ранее:

Эти примеры показывают, как получить имена файлов, хранящиеся в архиве TAR, чтобы впоследствии иметь возможность их проанализировать в сценарии, проверяющем данные. Извлечение файлов из архивов выполняется ничуть не сложнее. Если вам потребуется извлечь все файлы из архива TAR в текущий рабочий каталог, можно воспользоваться следующей функцией:

Если вы чрезвычайно подозрительны, каковыми и должны быть, то вы могли бы реализовать подсчет контрольных сумм MD5 случайных файлов при извлечении их из архива и сравнивать их с соответствующими контрольными суммами, которые были сохранены до упаковки файлов в архив. Это очень эффективный способ убедиться в том, что целостность данных не нарушена.

Ни одно разумное решение не должно основываться на предположении, что архив был создан без ошибок. По крайней мере, хотя бы выборочная проверка архивов должна выполняться автоматически. Но лучше, если сразу после создания каждый архив будет открываться и проверяться.

Комментарии (0)

RSS feed Comments

Написать комментарий

smaller | bigger

busy
 

Регистрация




Top