О бэкапах

топ 100 блогов hardsign11.02.2025

Между прочим, я тут вместо чтобы трепаться в жежешечке освобождаю место на диске. Внешние диски у меня хоть и надёжные, с Тогдашних Времён™, но всё же иногда надо проверить, насколько актуальны лежащие там данные. Всяких умных Энтерпрайзных Софтин® у меня нет, поэтому приходится обходиться всяким подручным материалом.

Для начала составим список, чего там в этих бэкапах есть. Процедура долгая, так что вполне можно оставить её на ночь. Или на половину рабочего дня.

$ find . -type f | sort | xargs -d '\n' -I {} md5sum {} | tee backup.txt

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

$ cat backup.txt | sed -re 's/^([0-9a-f]{32}) (.*)$/\2|\1|/;t;d' > table.txt

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

Вот, например, поиск файлов, у которых не совпадает контрольная сумма:

$ join -j 1 -t '|' table.txt table.txt | gawk -e 'BEGIN{FS="|"} { if ($2!=$4) print $0 }'

У меня внезапно нашлось две пары таких файлов. Стал разбираться, в чём дело, и выяснил, что в каталоге — два файла с одинаковыми именами. Оба имени содержат букву «й», только в одном случае она набрана как символ «й», а в другом — как комбинация «и» и надстрочного символа. А после того, как они проходят через текстовый конвейер, обе превращаются в полноценную «й». Вот и возникает дублирование...

А вот список файлов, которые есть в первой копии, но нет во второй:

$ join -j 1 -a 1 -t '|' table.txt table.txt | gawk -e 'BEGIN{FS="|"} { if ($4=="") print $0 }'

А вы как развлекаетесь?

Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
Был на городском мероприятии - новогодний бал в МТЛ-арене Мне понравилось, вполне позитивно и официальная часть (Сазонова, правда, слегка захлопали, но кому-то и это в радость) и концертная с участием Валерии, которая очень качественно отработала Единственный минус - пробки, ...
Здесь фоторепортаж РИА Новости о возвращении деревенского парня домой с военной службы, переложенный Другим в свой бложек. А вот здесь Роман rromanov поднимает совершенно другую тему: он вполне здраво и логично заявляет, что издеваться над ...
Не смогла я вчера ни к кому из друзей зайти. И ко мне сегодня никто не приходит, доброго утра и хорошего дня не желает. Такая вот дружба... Ты - мне, я - тебе. Правда, не со всеми так. И это радует. ...
Ректор Высшей школы экономики Ярослав Кузьминов выступил против открытия отдельных школ для детей иммигрантов. «Иметь школу, где большинство составляет не говорящих или плохо говорящих на русском языке, которые ищут своих преподавателей, мне кажется, это путь к национальному гетто» , - ...
Я понимаю, что колоссальное впечатление, которое лично на мена произвел комментарий к твитту Хиллари Клинтон, сравнивший аншлюс с выборами 2020 было связано с тем, что незадолго до этого я опубликовал пост на аналогичную тему в этом журнале и я разыскал этот комментарий после того, как ...