Адрес для входа в РФ: exler.world
А ты - почистил свою почтовую базу?
Далеко не все пользователи знают, как устроены базы данных. Они не в курсе, что в базах данных при удалении писем физического удаления не происходит: письма просто помечаются как удаленные и в этой базе преспокойно сохраняются. И если базу периодически не чистить (запускать процедуру сжатия, то есть удаления помеченных писем), то она будет раздуваться, как на дрожжах.
Помнится, одна милая дама мне как-то пожаловалась, что у нее The Bat! стал медленно с почтой работать. Стал смотреть. Размер почтовой базы - 10 гигабайт. После процедуры очистки база сократилась до полугига: дама ее несколько лет не чистила.
Я процесс очистки запускаю где-то раз в неделю, ну и периодически еще и руками стараюсь почистить папки от уже ненужных писем, потому что лет за пятнадцать у меня основная база тоже раздулась до 10 гигабайт. (Плюс еще есть отдельная архивная база на 20 гигов.)
Сегодня утром снова сел чистить основную базу. Чистил-чистил, чистил-чистил, сжал - ушел всего гиг.
После этого вдруг вспомнил, что можно этот вопрос решить радикально. И решил. Сделал бекап всех ящиков, переместил почтовую базу в архив, заново создал ящики из бекапа. Общий размер базы уменьшился до полутора гигов. При этом никакие письма не потерялись, я проверил.
Красота!
во-первых, 4 разных человека (в моем топике и на двух ирц-каналах) отсоветовали мне использовать offlineimap. страшно глючное решение, два человека написали (не в моем топике, сам нашел), что оно скачало все письма со всех указанных серверов, немедленно их удалило с диска и синхронизировала это безобразие с серверами. в обоих случаях это были довольно старые версии и я сильно подозреваю, что это было вызвано неправильными настройками. но тем не менее, если кто-то и захочет его попробовать, необходим локальный бэкап имап-сервера (оффлайн-папки - это не бэкап, если все было удалено с сервера, при первом же соединении с сервером все из них мгновенно удалится тоже). про последнюю версию, по которой мне не удалось найти баг-репопортов, мне сказали, что она может зависнуть, что (с обычным использованием) никак не получится обнаружить и если система никогда не отключается, и бэкап не проверяется (или не используется в качестве рабочего мэйлбокса с поддерживамими клиентами) - можно не заметить, как потеряются данные
серьезные пацаны используют isync (не путать с эппловским iSync)/mbsync. это одно и то же, просто пакет раньше назывался айсинк, потом переименовали в мбсинк (но в большинстве дистрибутивов у него оставили старое название) и там есть два исполняемых файла с этими названиями, одно из них - симлинк на другое. все, без исключения, люди, которые пробовали оба решения, в результате выбрали мбсинк и говорят, что он намного надежнее и быстрее. я не нашел ни одного негативнаого отзыва. по нему очень мало информации (пара инструкций по настройке и официальный мануал + пара лаконичных отзывов от счастливых пользователей). мне сказали, что в принципе, делать локальный бэкап имап-серверов другими средствами перед первой синхронизацией необязательно. особых подводных камней нет (может сначала не суметь соединиться с сервером, если неправильно настроена аутентификация, особенно актуально для гуглопочты).
во-вторых, никаких специальных почтовых клиентов для работы с обоими решениями не надо. почему-то в практически всех faq-ах и инструкциях рассчитанных для новичков по оффлайнимапу написано, что поддерживаются только два клиента, которые я уже указал в прошлом комменте (в старых faq-ах называется больше клиентов, но, похоже, что они потеряли совместимость со стандартным maildir-форматом). и я даже думаю, что в случае с оффлайнимапом это - хорошая идея (так проще заметить, что перестала синхронизироваться из-за его зависания почта). в случае с мбсинком, наверно, неплохо бы проверить после первого запуска, все ли аккаунты, со всеми папками синхронизировались (это его стандартное поведение при запуске с ключем "mbsync -a", в более старых версиях каждую под-папку для каждого аккаунта нужно было указать в конфигурационом файле отдельно) и все ли аккаунты импортировались с правильными кодировками (с этим тоже никаких проблем не должно быть). ну и в случае, если почтовый сервер удалил все ваши письма из-за какого-то своего факапа, был уничтожен аккаунт или компания приказала долго жить, а письма еще не были синхронизированны с другим сервером и срочно нужны, неплохо иметь уже настроенного клиента, чтобы иметь возможность сразу их посмотреть.
кроме этих двух ситуаций можно (и желательно) использовать любой почтовый клиент поддерживающий работу с имап-серверами. если он используется на том же компьютере, где уже есть весь бэкап и предвательно настроенный клиент для maildir, можно использовать онлайн-режим имап и не скачивать дополнительные копии ящиков в оффлайн-папки (если при этом надолго потеряется интернет - все письма будут доступны только в maildir-клиете). если хочется иметь копии писем в оффлайн-папках, но общий объем папок слишком велин (и там много ненужных писем) - мбсинк поддерживает частичную синхронизацию, при которой на серверах будут храниться только письма за последнее время или отдельные папки, при этом в maildir будет храниться и все, чего не осталось на серверах.
у этого решения есть один минус - мбсинк не поддерживает винду. формат maildir с ней несовместим (там используются двоеточия в именах файлов). на настоящий момент не существует ни одной инструкции и ни одного заявления, что кому-то удалось изменить и собрать мбсинк под виндой. я думаю, что это изменится, когда поддержка десяткой встроенного линуксовского окружения (включая файловые системы) выйдет из инсайдерской программы и будет признана стабильной.
пока что, единственное решение - запускать мбсинк и поддерживаемого клиента (я лично, скорее всего, таки попробую консольный mutt, который, в отличие от evolution, считается очень стабильным - я не мог себе представить, как это - работать всю жизнь с почтой в консольной программе, но запустить ее пару раз в жизни считаю допустимым 😉) в виртуальной машине с линуксом. если используется mutt, то можно поставить очень легкую и стабильную систему без графического сервере (но при этом надо не забыть настроить консоль для работы с юникодом). я лично всем и всегда рекомендую arch linux, но кто не хочет сам все настраивать с нуля (мбсинк и почтового клиента придется настраивать по-любому) и следить за официальными новостями арча (время от времени там что-то меняют и для очередного обновления необходимо воспользоваться инструкцией), может попробовать ubuntu server. не забывайте обновлять систему время от времени и делать полные бэкапы всего.
одновременно, это еще и самое безопасное решение, поймать зловредов под минимальной инсталляцией линукса с минимальным набором программ, установленных только из официальных репозиториев пока что сложнее, чем под рабочей виндой. при этом можно относительно безопасно хранить бэкапы критических ящиков, которые не хочется лишний раз светить в рабочей системы (я, например, использую аккаунт гуглопочты только на мобиле, хотел его добавить в линуксе в стандартного клиента тоже, но после всех описанных несколькими комментами выше приключений передумал). и даже если я когда-нибудь все-таки решу перейти под десятку и там будет рабочее линуксовское окружение, скоре всего, я все-таки использую виртуальную машину.
я лично, скорее всего, попробую сделать это завтра (или в ближайшие дни, сначала я хотел бы услышать подтверждения от других пользователей, что предварительный бэкап используемых серверов не нужен, ну и у меня, пока что, много других задач). когда все сделаю - отпишусь здесь. пока я этого не сделал, не считайте этот коммент рекоммендацией 😉
wiki.archlinux.org
isync.sourceforge.net (тут мануал)
wiki.archlinux.org
Она сидела на полу
И груду писем разбирала...
© Тютчев
сразу подумал, что поймал криптолокер. первые подозрения пали на виндовый ноут, который имеет права записи на папки на трех дисках с ~3тб данных через самбу и в последнее время продемонстрировал пару странных глюков (типа полностью пропавшего с диска и из стартового меню samsung kies, который я на этот ноут поставил два месяца назад). но установленная там авира в системе ничего не нашла.
перестал, для начала, пользоваться этим ноутом и решил сначала проверить с лайв-дисков и переставить линух и старую винду.
короче, все сейчас рассказывать не буду, но за последние полторы недели я очень многое узнал и могу сказать о девелоперах, как в "серьезных" коммерческих фирмах, так и в некоторых опенсорсных проектах. то, что они мудаки, потерявшие в последние в последние годы всякие представления о правильном (как кажется мне) софтверном дизайне, я знал давно. но вот до чего они криворукие мудаки, стал узнавать только сейчас. (не волнуйтесь, себя я тоже считаю мудаком, допустил много факапов)
создать пост на форуме? думаю, многие из найденных мною подводных камней и их решених окажутся для других полезными.
и да, не верьте людям, которые говорят вам, что линукс безопасен и его невозможно заразить при обычном использовании. нашел кучу малвари как для винды (в папке вайна, шаре для виртуалбокса с хп (там тоже стоит авира, но она (бесплатная) сетевые папки не сканирует) и даунлоад-папке файрфокса), так и для линуха, ну и несколько кросс-платформенных. было несколько ложных срабатываний, но, например один из безусловно подтвержденных кросс-платформенных был создан (файл) еще в апреле 2012.
решил полностью и везде перейти на имап. но серверам и софту (да и себе) никакого доверия нет. у меня был уже на одной работе аккаунт с несколькими письмами с полезными скриптами и прочим. после внезапного увольнения и удаления моего аккаунта, все из громоптица исчезло. оффлайн-папки, май эсс.
короче, нужно решение, чтобы все письма с имап сервера сохранялись на компе. желательно, сразу после получения/отправления. и, чтобы при этом не делать отдельные бэкапы (с расходящимися данными после создания новых фильтров/удаления писем или мануального их переноса в другую папку), а все хранилось в одной базе.
одно из подходящих решений (под линукс), которое нашел - связка offlineimap+evolution. оффлайнимап, собственно, делает всю работу и работает только с форматом maildir (каждое письмо хранится в отдельном файле, никаких больше ограничений на на размер папки, тормозных и глючных бд, и их долгой компрессии. скрепя сердце, отформатировал партицию на ссд в btrfs с lzo-компрессией и скопировал арч с винта туда, теперь бэкапы надо бы делать чаще). эволюшн - в настоящее время, по отзывам, довольно глючный, но единственный работающий с оффлайнимапом гуёвый имап-клиент. ну и еще он должен уметь импортировать папки громоптица, хотя уже нашел один пост из 2014-го года от человека, у которого это получилось не со всеми папками.
перед тем как начать это делать, надо бы сделать бэкап всех папок со всех испольемых серверов. бэкап этот должен быть импортируемым и в эволюшн, и в громоптица (на случай, если все пойдет не так и придется все восстанавливать), при этом, для главного ящика он должен суметь разбить инбокс на несколько баз, ну и разобраться с, возможно, разными кодировками и версиями имап на разных серверах, ни на один из которых не удалось найти спеков.
еще нужно решение под винду. оффлайнимап ее официально не поддерживает, но пишут, что есть умельцы, которым удалось собрать все под cygwin. ну и клиент работающий тоже нужно найти/собрать.
думаю, не зря ли я это все затеял?
Могли бы вы подсказать без глумления: нажатие shift+del (в аутлуке) как-то решает эту проблему или всё равно письма хранятся, помеченные как "удалены навсегда"?
Только что почистил TheBat! впервые за пол-года. Освободил диск на 7 гигов!
Очень полезная заметка.
Если до сих пор не выли, то с чего бы? Рядовому пользователю бата этот второй эшелон недоступен.
Самодельные базы данных склонны к падежам, а SQL серверно - нормальные требуют хотя бы минимального администрирования.
странно, есть куча продуктов которые установил "из коробки" и они работают годами, только потом выясняется "ой у меня тут mysql крутится". Ну и SQlite никто не отменял.
Вообще the BAT - странный продукт, в нем довольно прилично учтены пожелания пользователей, но качество кода, по множеству косвенных признаков, очень низкое.
P.S. никаких проблем с Thunderbird не испытаваю уже много лет,
авторы бат до сих пор не осилили команду purge?
21 век начался 15 лет назад...
Да вроде бы очевидно, что в записи речь и идет о команде purge.
Само собой, в течение нескольких недель после чистки обязательно возникает острая необходимость посмотреть что-то из удалённого. С этим уже никак не борьюсь. Просто решаю проблему как-то ещё.
Вранье, аккаунт Tenacious D взломали.
А можно в двух словах пояснить кто это?
Далеко не все пользователи знают, как устроены базы данных. Они не в курсе, что в базах данных при удалении писем физического удаления не происходит: письма просто помечаются как удаленные и в этой базе преспокойно сохраняются.
Это не имеет никакого отношения к "устройству баз данных". Весь пост о работе конкретных почтовых программ.
Офигеть какое ценное замечание.
Alex Exler:
Далеко не все пользователи знают, как устроены базы данных. Они не в курсе, что в базах данных при удалении писем физического удаления не происходит: письма просто помечаются как удаленные и в этой базе преспокойно сохраняются.
Это не имеет никакого отношения к "устройству баз данных". Весь пост о работе конкретных почтовых программ.
К устройству баз данных отношение имеет тот факт, что Зебат упорно пишет свою собственную базу, с переменным успехом пишет, тратя на это массу усилий и времени, и огребая массу нареканий от пользователей, вместо того чтоб тихо-мирно перейти на любую открытую базу поддерживаемую милионными сообществами разработчиков.
Такие шикарные пограммы изрядно стоят.
А вы в курсе, сколько времени производится сжатие большой почтовой базы?
Дамам, как и большинству из нас, почтовые программы вообще не нужны.
Есть почтовый сервис, будь то google, будь то yahoo, или какой-то свой национальный. К нему есть веб интерфейс. Очень удобный, замечу. По крайней мере у тех сервисов которыми я пользуюсь интерфейс хорош.
Ну и все, живите и размножайтесь, здоровья вам. Пусть у сервиса голова болит за архивирование и бекапирование, а у женщин голова болеть не должна.
Ну и кроме того, далеко не все в курсе, что кроме The Bat! есть ещё Outlook корпоративный, подключенный к Exchange серверу, так он сам периодически напоминает что нужно сделать.
и пропорция очистки основной базы 1:10 отличается от архивной 6:20.
Даже если ничего не пропало то корявенький этот бат, а если пропало то тем более.
уточните, чтоэтот вопрос в основном актуален только пользователям Бат!
а тех у кого бесплатные мыла на майл.ру, яндексе и гугле - их сие не волнует 😄
Alex
уточните, чтоэтот вопрос в основном актуален только пользователям Бат!
а тех у кого бесплатные мыла на майл.ру, яндексе и гугле - их сие не волнует
Это все зависит от почтового клиента, а не от почтового сервера.
Это конечно здорово! А сохранились картинки в письмах? Бат очень хитро с ними работает. Если они не привязаны, то он их удаляет. Проверить не помешает, во всяком случае.
Картинки я всегда храню внутри писем, поэтому никогда не пропадают.
Ну хорошо, основную ты почистил. Теперь надо архивную прополоть
Прополол. 6 гигов ушло.