Как я могу проверить целостность архива mbox из командной строки?
У меня есть большая резервная копия файла mbox из gmail. Это более 5 ГБ и обновляется с новыми сообщениями каждую ночь через работу cron. Я хотел бы, чтобы задание cron также проверяло действительность архива, чтобы убедиться, что он по-прежнему является допустимым форматом mbox.
Существует ли средство командной строки для проверки файла mbox или, по крайней мере, список самых последних сообщений?
1 ответ
Формат mbox довольно прост, а стандарт достаточно гибок, и большинство почтовых приложений не заботятся о целостности самого файла, кроме наличия
Поэтому запуск этого
awk '
! /^From [^:].*/ {
p = $0
}
/^From [^:].*/ {
if (p !~ "^$") {
$0 = "\nFrom - Tue Nov 21 17:30:08 2023"
} else {
$0 = "From - Tue Nov 21 17:30:08 2023"
}
}
1 {
print
}
' original_file > fixed_file
... где находится ваш текущий файл mbox и
Обратите внимание, что приведенный выше скрипт исправляет распространенные ошибки в существующих строках перед сообщениями, такие как несоответствующие интервалы или включение нестандартных символов, таких как запятые, а также исправляет отсутствие пустой строки между сообщениями… Ошибки такого типа обычно возникают в результате использования инструмента экспорта mbox. это не соответствует стандартам формата mbox и вызовет путаницу для некоторых почтовых клиентов, что часто приводит к тому, что файл mbox не поддается анализу этими клиентами или анализируется весь файл со всеми отдельными сообщениями в нем как одно большое непрерывное сообщение… Если, однако ваш файл mbox не соответствует минимуму для этого сценария, т.е.