bup-fsck - проверить или исправить репозиторий bup
bup fsck [-r] [-g] [-v] [--quick] [-j jobs] [--par2-ok] [--disable-par2] [filenames...]
bup fsck — это инструмент для проверки репозиториев bup таким же образом, как git fsck проверяет репозитории git.
Он также может генерировать и/или использовать «блоки восстановления» с помощью инструмента par2(1) (если он у вас установлен). Это позволяет вам восстанавливать поврежденные блоки, охватывающие до 5% ваших файлов .pack.
В обычной системе резервного копирования поврежденные блоки менее важны, поскольку между наборами резервных копий обычно дублируется достаточно данных, чтобы один поврежденный набор резервных копий не был критическим. Однако в системе резервного копирования с дедупликацией, такой как bup, ни один блок никогда не сохраняется более одного раза, даже если он используется в каждой отдельной резервной копии. Если бы этот блок нельзя было восстановить, все ваши наборы резервных копий были бы повреждены одновременно. Таким образом, важно иметь возможность проверить целостность ваших резервных копий и восстановиться после ошибок диска, если они возникнут.
ВНИМАНИЕ: функции восстановления bup fsck недоступны, если на вашем сервере bup не установлен бесплатный пакет par2(1).
ВНИМАНИЕ: очевидно, что bup fsck не может восстановиться после полного сбоя диска. Если ваши резервные копии важны, вам необходимо тщательно продумать избыточность (например, использование RAID для многодисковой избыточности или создание резервных копий вне площадки для избыточности площадки).
попытаться восстановить любые поврежденные пакеты, используя существующие блоки восстановления. (Требуется пар.2(1).)
создавать блоки восстановления для любых пакетов, в которых их еще нет. (Требуется пар.2(1).)
увеличить многословность (можно использовать более одного раза).
не запускайте полный пакет проверки git для каждого файла пакета; вместо этого просто проверьте окончательную контрольную сумму. Это может вызвать значительное ускорение без очевидного снижения надежности. Однако вы можете избежать этого варианта, если вы параноик. Не влияет на пакеты, в которых уже есть информация для восстановления.
максимальное количество проверок пакетов, выполняемых одновременно. Оптимальное значение для этого параметра зависит от того, насколько быстро ваш ЦП может проверять пакеты по сравнению с пропускной способностью вашего диска. Если вы запускаете слишком много заданий одновременно, ваш диск будет перегружен из-за поиска между файлами, и производительность фактически снизится, даже если numjobs меньше, чем количество ядер ЦП в вашей системе. Вы можете поэкспериментировать с этой опцией, чтобы найти оптимальное значение.
немедленно вернуть 0, если par2(1) установлен и работает, или 1 в противном случае. На самом деле ничего не проверяйте.
сделать вид, что par2(1) не установлен, и игнорировать все блоки восстановления.
# generate recovery blocks for all packs that don't
# have them
bup fsck -g
# generate recovery blocks for a particular pack
bup fsck -g ~/.bup/objects/pack/153a1420cb1c8*.pack
# check all packs for correctness (can be very slow!)
bup fsck
# check all packs for correctness and recover any
# damaged ones
bup fsck -r
# check a particular pack for correctness and recover
# it if damaged
bup fsck -r ~/.bup/objects/pack/153a1420cb1c8*.pack
# check if recovery blocks are available on this system
if bup fsck --par2-ok; then
echo "par2 is ok"
fi
bup-damage(1), fsck(1), git-fsck(1)
Часть люкса bup(1).
Эйвери Пеннарун apenwarr@gmail.com.