О бэкапах

топ 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 }'

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

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

Предыдущие записи блогера :
Архив записей в блогах:
Опять приснился покойный одноклассник.       Увидел его в окно, смотрю — стоит, с кем то разговаривает. И с голым торсом. Мышцы прям видны, накачанный такой в меру, красиво. Я знаю что он умер, и знаю, что при жизни таким не был, значит ТАМ накачался. ...
Апдейтик...))) . ссылка . Ну эпогей сегодняшнего вечера- на видео попала переброска 100 тысячной бронеконной дивизии бурятов к границе с Украиной.
Впервые в жизни у речки. Бегущая вода завораживает ;) Всё время вот так - спина к спине. Особенно в страшных незнакомых местах ;) Интересуются всем синхронно =) Крадусь, чтобы зацапать хоть одну мохнатую жёпу... Но нет! У мохнатых жёп глаза с боковым обзором же -______- ...
Как-то так получилось, что творчество этого автора прошло мимо меня, вернее, я прошел мимо: видел во множестве томики его произведений в книжных магазинах, но почему-то не захотелось мне их полистать и почитать. Что-то потом попадалось мне на глаза в сети - и с тем же результатам. Но 100 ...
Письма издалека Соня живет в Москве. Замужем, двое детей. Сейчас она в декрете, младшему сыну год будет, дочери 3 годика. В этом году Соня не может приехать летом к родителям. Говорит, что с двумя малыми детьми сутки в поезде - тот еще квест. Самолет тоже не выход. С аэропорта, а ...