Alter.Org.UA  
 << Back Home EN en   Donate Donate www/www1/www2

The Bat TBB recovery tool for Windows

Извлекает письма из поврежденного TBB-файла на основе сигнатурного анализа. На выходе получается правильный TBB файл. Утилита умеет выбрасывать сообщения, отмеченные как удаленные, снимать флаг удаления, а также извлекать на все сообщения, а в указанном диапазоне (по порядковым номерам или по физическому смещению в исходном файле). Проверялось на The Bat ver. 2.02.3 и 4.1.11.

Работает под всеми версиями Windows (95/98/Me/NT/2000/XP/etc.).

Алгоритм следующий:

  • отключить автоматический импорт почты с сервера и выйти из The Bat
  • сделать резервную копию старых messages.tbb и messages.tbi
  • обработать messages.tbb с помощью tbbcopy
  • полученный .TBB-файл поместить обратно в соответствующий каталог The Bat'а под именем messages.tbb и удалить находящийся там messages.tbi
  • запустить The Bat и выполнить проверку целостности свежевосстановленного каталога
Usage:
  tbbcopy.exe [-<switches>] <source file> <target file>
      or
  tbbcopy.exe [-<dd-style options>]
      or
  tbbcopy.exe -a [-d+] <source file>
Switches:
  -a                  automated repair. Make backup of .TDB and .TDI and
                      perform restore to original filename.
  -o[b|k|m|g] <offset>  offset in bytes (or optionally in blocks, KBytes, MBytes or GBytes)
                      to start recovery from (since v1.2)
  -L <logfile>        log unreliable and bad blocks to <logfile>
  -d[+|-]             include (+) or exclude(-) deleted messages
  -k                  keep message size, don't repair when extracting (since v1.2)
  -m <num>            start from message <num> (since v1.2)
  -M <num>            process not more than <num>
  -?                  display this help
DD-style options:
  if=<source file>
  of=<target file>
  seek=<blocks>
Note:
  1 KByte = 1024 bytes
  1 MByte = 1024 KBytes = 1024*1024 bytes
  if byte offset or byte count is specified, it will be rounded to blocksize
Examples:
  tbbcopy.exe X:\mail\messages.tbb E:\Temp\Restored.tbb
    will extract all not deleted messages
  tbbcopy.exe -o 10M X:\mail\messages.tbb E:\Temp\Restored.tbb
    will extract messages starting from byte offset 10Mb to end of file
  tbbcopy.exe -a X:\mail\messages.tbb
    will make backup to X:\mail\messages.bkp.tbb and X:\mail\messages.bkp.tbi 
    and store extracted messages in X:\mail\messages.tbb

Download

Посленняя версия (с исходниками) - tbb_recovery_v1b.rar/tgz (38.7 Kb/41.9 Kb)

History

Восстанавливали 25Гб, что уже само по себе интересно :) Выплыл баг в поддержке опций -o (смещение для начала сканирования) и -m (пропустить первые сообщения). Исправлено, спасибо Владимиру Глущенко за сообщение об ошибке.
Также добавлена опция -k, предотвращающая "исправление" длины сообщения в результирующем файле. Иногда такое исправление вредит.
tbb_recovery_v1b.rar/tgz (38.7 Kb/41.9 Kb)
2013.09.08

История снова всплыла, оказалось, что граничный размер файла .tbb - 1Гб. TheBat все еще продолжает принимать новые письма, но compress уже не делает. И не ругается, делает вид, что полет нормальный :) А файл растет быстро. После 2Гб прием новых писем прекращается без каких-либо объяснений.
Для удобства дописал режим автоматической обработки, включается -a. Требуется единственный параметр - имя исходного файла. Создание резервной копии оригинала .tbb и индексного файла .tbi делается автоматически. После окончания работы остается только убить .bkp.tbb и .bkp.tbi
tbb_recovery_v1a.rar/tgz (38.4 Kb/41.6 Kb)
2013.08.26

Первая версия, появилась на свет из-за необходимости починить 2Гб .tbb файл. Ни одна из найденных утилит на справилась. Все пытались так или иначе загрузить весь файл в память целиком и повисали либо возвращали ошибку.
tbb_recovery_v1.rar/tgz (36.9 Kb/39.2 Kb)
2012.09.20

Предложения и исправления слать на Mail to alterX@alter.org.ua (remove X)  

Автор: Alter (Александр А. Телятников) Сервер: Apache+PHP под FBSD © 2002-2017