1

Я восстановил несколько ТБ данных, получив более миллиона файлов. Многое из того, что было восстановлено, является мусором, но небольшой процент - очень ценные файлы, которые похоронены в беспорядке. Вопрос: Как я могу свести результаты восстановления к управляемому соотношению «сигнал / шум» для облегчения оценки отдельных файлов?

Фон

Я использовал Foremost, Testdisk, dd и Photorec для восстановления данных. Прежде всего и т.д. Извлекайте данные резервного копирования по типу файла. В итоге вы получаете миллионы файлов, отсортированных по типу в подкаталоге. Например, я открываю один каталог и сталкиваюсь с 250000 JPEG.

Чтобы усложнить ситуацию, эти программы делают некоторые вещи неправильно. Например, я установил его для распознавания CSS-файлов путем поиска фрагментов кода #* { , .* { , #*{ .*{ , Но неизбежно будут некоторые ложные срабатывания для такого простого фильтра.

Логический (методический) подход к рассмотрению этого по типу файла. Например, я должен оценить каждый файл, обозначенный как "css", чтобы увидеть, является ли он даже CSS; 99,9% нет.

Я пытаюсь сделать задачу более управляемой, отбирая файлы, которые можно идентифицировать как удаляемые (т.е. бесполезные, поврежденные, непригодные к использованию / неустранимые), в идеале с помощью автоматических средств или, по крайней мере, навалом.

Характеристики файла

Вот оценка количества файлов:

type,   sizeG,   approx % corrupt,   approx % I may end up needing  
jpg     10G        ~25% corrupt        ~0.0025% keep
js      13G        ~0% corrupt         ~0.025% keep
less     1G        ~0% corrupt         ~0.001% keep
mov     21G        ~0% corrupt         ~50% keep
mp3     13G       ~50% corrupt          ~2% keep 
mp4    1.5G       ~50% corrupt         ~25% keep 
pdf     11G       ~20% corrupt         ~0.125 keep 
    (The PDF files are picture albums; each one is a collection of dozens of
    important pics. Examining them is hard and time-consuming to do manually.)
wma    2.7G       ~90% corrupt         ~0.01% keep
zip     2G

Вот некоторые из процедур, которые я использую сейчас

JPG

Используя Windows, я могу открыть папку, просмотреть миниатюры, а те, которые не видны, не будут загружаться. 1 Я могу нажать на них и удалить. К сожалению, это каталог 35G, содержащий 320 000 файлов .jpg , без организации.
__________
1 Было бы точнее сказать, что существует высокая корреляция между неповрежденными файлами и теми, которые будут отображать узнаваемый эскиз.

PDF

Используя Windows, я щелкаю правой кнопкой мыши около 1000 файлов, затем нажимаю кнопку «Открыть», жду 5 минут, затем выполняю некоторые операции с первой, чтобы объединить все открытые файлы в один файл, что занимает около 10 минут, а затем массово закройте 1000 файлов. , Затем откройте этот сверхбольший файл и выполните прокрутку в поисках реальных изображений. Я выделяю ~ 100 по отдельности, затем извлекаю их в новый файл для архивирования и, наконец, удаляю этот большой файл.

mp3, mp4, wma

Используя Windows, я не могу использовать Winamp для этого, потому что один поврежденный файл убивает Winamp каждый раз. Поэтому я использую VLC, помещаю их в длинный список воспроизведения и слушаю. Плохие файлы пропускаются сразу, но это все равно занимает очень много времени.

застежка-молния

Используя Windows, я думаю, что у меня есть zip down. Я выбираю все zip-файлы, щелкаю правой кнопкой мыши, извлекаю WinRAR или извлекаю каждый как отдельный архив. Но кликать в каждый каталог потом - большая работа.

JS, CSS, меньше

Используя Windows, их довольно легко просматривать быстро. Я открываю родительский каталог в Проводнике, включаю предварительный просмотр файла, выбираю первый элемент, затем использую стрелку, удаляю и нажимаю клавиши на клавиатуре. Тем не менее, есть 20 000 файлов.

Задача

Я хотел бы знать, какие методы могут быть использованы более эффективно, чем этот, для сортировки / фильтрации последствий восстановления данных, чтобы я мог ускорить это. Предложения для Linux очень приветствуются. Даже в качестве первого шага было бы полезно, если бы я мог определить поврежденные файлы во всем архиве и сначала удалить их, а затем 0-байтовые файлы.

2 ответа2

2

Я не буду перефразировать то, что рассказывал Скотт, и его обсуждение потенциального восстановления поврежденных файлов (или их частей) является областью для изучения. Я добавлю один момент: некоторые форматы документов будут выглядеть в основном как мусор, если вы изучите необработанный файл. Тем не менее, текстовое содержание часто бывает большими, узнаваемыми кусками. Даже если файл был поврежден или отсутствуют части, вы можете вручную извлечь большую часть текста. Но, как отмечает Скотт в комментарии, это было бы для спасения конкретного контента, который вы определили как ценный; это не было бы частью автоматизированного процесса, чтобы иметь дело с файлами в большом количестве.

стратегия

Задача такого масштаба будет длиться вечно, и вы, вероятно, выдохнетесь, прежде чем закончите. Вы хотите получить максимальную отдачу от ваших усилий. Позвольте мне предложить подход. Предостережение, однако. Я не знаю ни одного готового автоматизированного решения. Вы можете помочь здесь или там с такими вещами, как скрипты, но это будет в значительной степени ручной процесс. Главное - сделать этот процесс максимально эффективным.

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

  • Подсчитайте время. Существует старая концепция управления временем: если вы что-то решаете, делайте что-то с этим. Решите, сможете ли вы быстро доработать его. Если так, сделай это. Если нет, расставьте приоритеты для последующего завершения или откажитесь от него. Но не тратьте время на файл, а затем просто бросайте его обратно в банк.

  • Создать организацию. Часть процесса будет смотреть на файлы и помещать их в определенные каталоги для последующей обработки. Не бойтесь создавать много каталогов. Используйте их как способ сохранить информацию, которую вы узнали о файлах, сгруппировать их по потенциальным возможностям и т.д. Ищите способы быстрой идентификации полезной информации о файлах и перемещения их в каталоги, чтобы объединить их для последующей обработки. Это создаст пулы файлов для работы и оставит позади файлы, которые потребуют больше работы.

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

Предлагаемый процесс (сортировка)

Подумайте о трех категориях: простые файлы с высоким потенциалом; сбрасываемые файлы; и файлы, которые потребуют больше работы. Обработайте их в этом порядке. Когда вы попадете в третью категорию, повторите процесс.

  1. Определите все распознаваемые, не поврежденные файлы и извлеките их в рабочий пул. Объедините их по типу файла. Это первые, над которыми нужно работать. Я бы отсортировал их по размеру (см. Обсуждение ниже). Начните с самых больших файлов и продолжайте свой путь вниз. Просмотрите их, используя обычное программное обеспечение, чтобы увидеть, что они из себя представляют и что вы хотите сохранить. Или просто сохраните их все и перейдите к следующему шагу.

    Для изображений используйте такой инструмент, как Irfanview. Он имеет такие функции, как миниатюры и пакетная обработка, которые действительно могут ускорить работу с файлами изображений в количестве. Я бы переместил несколько сотен файлов за раз в каталог, чтобы работать с ними.

  2. Из оставшихся файлов отберите самые маленькие, как описано ниже, чтобы сделать коллекцию более управляемой.

  3. Это оставляет файлы, которые потребуют больше работы. Ищите характеристики, которые позволят вам идентифицировать другую коллекцию файлов с потенциалом. Характеристика, с которой я бы начал, - это размер. Самые большие файлы имеют наибольший потенциал для хранения полезного содержимого, с меньшей вероятностью будут являться флотационными файлами для восстановления файлов и с меньшей вероятностью будут созданы из-за повреждения. Количество их также, вероятно, будет управляемым. Начните с них и работайте над пулом оставшихся файлов по размеру.

Использование размера файла - небольшие файлы

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

  • Многие типы файлов содержат много "служебных данных", таких как информация заголовка. Такие вещи, как документы Word, а иногда и PDF, также могут содержать такие вещи, как встроенные шрифты. Таким образом, даже один байт содержимого требует файла определенного минимального размера. Вы можете определить этот минимальный размер, создав однобайтовый файл каждого типа.

  • Для файлов изображений посмотрите на очень маленькие и посмотрите, что они содержат. Используйте свой файловый менеджер для сортировки по размеру, а затем посмотрите на примеры файлов по мере увеличения размера. Вы увидите, что "хорошие" изображения минимального размера содержат то, что вам, вероятно, не нужно хранить, например крошечные фрагменты иллюстраций с веб-сайтов. Глядя на образцы, вы получите представление о минимальном размере изображения, которое будет интересным.

  • Для документов учитывайте стоимость и время восстановления. У вас могут быть ценные фрагменты текста, например, идеи или ссылки, которые вы сохраняете. Если это так, это будет менее полезно. В противном случае вы, вероятно, найдете такие вещи, как части сохраненных черновиков или очень короткие сегменты текста. Возможно, они больше не нужны, или, возможно, потребуется меньше усилий для воссоздания, если они вам когда-нибудь понадобятся, чем для проверки тонны из них и очистки на всякий случай. Таким образом, вы можете определить наименьший размер интереса.

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

Я часто обнаруживал, особенно в Windows, что файловый менеджер расщеплялся, когда количество файлов превышало определенный порог. Вы можете найти более быстрое и надежное создание разумного количества файлов (не более нескольких сотен) одновременно.

Идеи для определения типов файлов

Когда вы дошли до того, что работаете с нераспознанными типами файлов, вы в значительной степени попадаете на ручную территорию. Они далеко вниз по кривой убывающей доходности. Однако вот несколько идей для определения типов файлов для нераспознанных файлов:

  • Многие типы файлов имеют информацию заголовка. Откройте файл в текстовом редакторе и посмотрите на первый "абзац" контента.

  • Если у вас есть коллекция гигантских файлов нераспознаваемого типа, размер может быть одним из подсказок. Гигантские файлы могут быть резервными копиями, архивами, фотоальбомами или видео.

  • После того, как вы объедините распознаваемые файлы по типам файлов, посмотрите на диапазон размеров. Это будет ключом к объединению нераспознанных файлов.

1
  1. Найти файлы нулевой длины?  Это легко.  В Windows введите size:0 в поле поиска Windows Explorer (и, когда вы найдете их, вы можете удалить их).  В Linux вы можете сделать

    find . -type f -size 0 -exec rm {} +
    

    или, если у вас есть GNU find , вы можете сделать

    find . -type f -empty -delete
    
  2. Я не уверен, что понимаю все, что вы говорите, особенно в отношении zip, но простые повторяющиеся действия, такие как проверка и / или удаление каталогов, как правило, легко написать в Windows или * nix.

  3. На самом деле я ничего не знаю об используемых вами инструментах (Foremost, Testdisk и Photorec), но вы говорите, что большинство файлов, которые вы получили, являются мусорными.  Риск существенно увеличить вашу рабочую нагрузку. Я повторю комментарий Джина: вы можете рассмотреть возможность того, что некоторые файлы, которые вы получили, содержат ценную информацию, но достаточно сильно повреждены, что стандартные инструменты не могут их обработать, но это иметь достаточно хорошую структуру, чтобы некоторые другие инструменты восстановления данных могли их исправить.

    • Например, у меня когда-то были некоторые файлы изображений, которые были просто обрезаны (обрезаны).  Конечно, не было никакого способа восстановить пиксели, которых там не было, но я обнаружил, что стандартное программное обеспечение для просмотра изображений, которое я использовал, останавливало несколько тысяч байт до конца файла.  Мне удалось исправить файлы так, чтобы все пиксели, которые присутствовали, были отображены, в результате чего стали видны еще около десяти строк сканирования.  Это было давным-давно в галактике далеко-далеко, поэтому я не могу предоставить более подробную информацию, чем это.
    • Возможно, лучшим примером является то, что стандартный инструмент просмотра / редактирования файлов, скорее всего, потерпит неудачу, если в файле отсутствуют первые 512 байт или если они присутствуют, но повреждены.  Может быть возможно восстановить после такого повреждения и восстановить недостающие данные.

    Просто кое что для раздумий.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .