3

Эта проблема

У меня сломан программный массив RAID-5 для Windows Server, который я хотел бы сделать резервную копию, но я хочу избежать резервного копирования всех сломанных файлов.

Мне бы очень хотелось, чтобы был какой-то сценарий или программа, которая может сканировать с жесткого диска на наличие поврежденных файлов и просто удалять их.

Мой Google-Fu возвращает результаты о том, как восстановить или восстановить эти файлы - я просто хочу их удалить.

Как мне удалось это сломать:

Я перенес свой программный RAID 5 с Windows Server 2008 R2 на новое оборудование и Windows Server 2012 R2. Этот шаг был более или менее успешным; Мне просто нужно было сделать некоторую ресинхронизацию. Я забыл, что это ресинхронизация, и отключил его, чтобы переместить его физическое местоположение.

К сожалению.

После нескольких недель CHKDSK и SeaTools и других случайных попыток восстановления дисков я решил отказаться от восстановления и перестроить все это, сохранив столько, сколько смогу.

РЕДАКТИРОВАТЬ

Работа вокруг

Использование ffmeg вроде работало, но у меня не было чистого и автоматизированного решения в Windows Server 2012. Моя попытка PowerShell заняла слишком много времени и привела к нечитаемому файлу журнала.

Вместо этого я установил FileZilla Server и просто поставил в очередь все свои файлы, которые нужно скопировать на мои устройства резервного копирования, и все плохие файлы в конечном итоге окажутся на вкладке Неудачные передачи клиента FileZilla.

1 ответ1

2

Хорошая новость: у нас есть несколько быстрых тестов на наличие файлов MKV и AVI.

Как проверить целостность видеофайла (avi, mpeg, mp4…)?

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

Переберите все файлы avi и mkv с помощью:

ffmpeg.exe -v error -i file.avi -f null - >error.log 2>&1

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

FOR %%c IN (*.mkv) DO ffmpeg.exe -v error -i %%c -f null - >error.log 2>&1

Информация о Windows для циклов

Редактировать Вот версия Linux bash, которую я тестировал:

for c in *.mp4; do ffmpeg -v error -i $c -f null - >error.log 2>&1; done

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

Пример вывода с поврежденным файлом (отрубленный конец файла), ошибки могут значительно отличаться:

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x161a180] moov atom not found
video-head.mp4: Invalid data found when processing input

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