Если это опция, тогда bzip2 может быть лучшим алгоритмом сжатия для этой цели.
Bzip2 использует схему сжатия блоков. Таким образом, если вы берете кусок конца вашего файла, который, как вы уверены, достаточно велик, чтобы вместить весь последний блок, вы можете восстановить его с помощью bzip2recover.
Размер блока выбирается ввремя файл написан. Фактически, это то, что происходит, когда вы устанавливаете -1 (или --fast) в -9 (или --best) в качестве опций сжатия, которые соответствуют размерам блоков от 100k до 900k. Значение по умолчанию - 900k.
Инструменты командной строки bzip2 не дают приятного дружественного способа сделать это с конвейером, но, учитывая, что bzip2 не ориентирован на поток, возможно, это не удивительно.