Далеко не всі користувачі знають, як влаштовані бази даних. Вони не в курсі, що в базах даних при видаленні листів фізичного видалення не відбувається: листи просто позначаються як вилучені і в цій базі спокійнісінько зберігаються. І якщо базу періодично не чистити (запускати процедуру стиснення, тобто видалення позначених листів), то вона буде роздуватися, як на дріжджах.
Пам'ятається, одна мила пані мені якось поскаржилася, що у неї The Bat! став повільно з поштою працювати. Став дивитися. Розмір поштової бази - 10 гігабайт. Після процедури очищення база скоротилася до полугіга: дама її кілька років не чистила.
Я процес очищення запускаю десь раз в тиждень, ну і періодично ще й руками намагаюся почистити папки від вже непотрібних листів, тому що років за п'ятнадцять у мене основна база теж роздулася до 10 гігабайт. (Плюс ще є окрема архівна база на 20 гигов.)
Сьогодні вранці знову сів чистити основну базу. Чистив-чистив, чистив-чистив, стиснув - пішов всього гіг.
Після цього раптом згадав, що можна це питання вирішити радикально. І вирішив. Зробив бекап всіх ящиків, перемістив поштову базу в архів, заново створив ящики з бекапу. Загальний розмір бази зменшився до півтора гигов. При цьому ніякі листи не загубилися, я перевірив.
Ну добре, основну ти почистив. Тепер треба архівну прополоти
Це звичайно здорово! А збереглися картинки в листах? Бат дуже хитро з ними працює. Якщо вони не прив'язані, то він їх видаляє. Перевірити не завадить, у всякому разі.
уточніть, чтоетот питання в основному актуальне тільки користувачам Бат!
мене ось теж дістали громоптіц, час від часу вимагає підчистити інбокс, сам інбокс в 50000 + листів, що зберігається на сервері і неможливість синхронізувати всі листи / папки на всіх девайсах / ос.
коротше, потрібно рішення, щоб всі листи з імап сервера зберігалися на компі. бажано, відразу після отримання / відправлення. і, щоб при цьому не робити окремі бекапи (з розбіжними даними після створення нових фільтрів / видалення листів або мануального їх перенесення в іншу папку), а все зберігалося в одній базі.
перед тим як почати це робити, треба б зробити бекап всіх папок з усіх іспольемих серверів. бекап цей повинен бути імпортованим і в Еволюшн, і в громоптіца (на випадок, якщо все піде не так і доведеться все відновлювати), при цьому, для головного ящика він повинен зуміти розбити інбокс на кілька баз, ну і розібратися з, можливо, різними кодуваннями і версіями імап на різних серверах, ні на один з яких не вдалося знайти спеков.
ще потрібно рішення під вінду. оффлайнімап її офіційно не підтримує, але пишуть, що є умільці, яким вдалося зібрати всі під cygwin. ну і клієнт працює теж потрібно знайти / зібрати.
думаю, не даремно я це все затіяв?
взагалі, останнім часом не відходжу від компа ні на хвилину і майже не сплю. почалося все з того, що після чергового свого оновлення та повного рескана дисків крешплан сказав мені, що оновилися 1,7тб (близько 250 000 файлів), які треба перезаліть. саппорт крешплана сказав мені, що на даний момент неможливо дізнатися імена файлів, які змінилися. тільки після того, як файл перезаліт, можна прочитати його ім'я в балці.
відразу подумав, що зловив кріптолокер. перші підозри впали на віндовий ноут, який має права на запис на папки на трьох дисках з
3Тб даних через самбу і останнім часом продемонстрував пару дивних глюків (типу повністю зниклого з диска і з стартового меню samsung kies, який я на цей ноут поставив два місяці тому). але встановлена там Авіра в системі нічого не знайшла.
перестав, для початку, користуватися цим ноутом і вирішив спочатку перевірити з лайв-дисків і переставити Линух і стару вінду.
коротше, все зараз розповідати не буду, але за останні півтора тижні я дуже багато дізнався і можу сказати про девелоперах, як в "серйозних" комерційних фірмах, так і в деяких опенсорсний проектах. то, що вони мудаки, які втратили в останні в останні роки будь-які уявлення про правильне (як здається мені) софтверном дизайні, я знав давно. але ось до чого вони криворукий мудаки, став дізнаватися тільки зараз. (Не хвилюйтеся, себе я теж вважаю мудаком, допустив багато факапов)
створити пост на форумі? думаю, багато хто з знайдених мною підводних каменів і їх рішення виявляться для інших корисними.
отже, я вам обіцяв рішення? я його знайшов (ну, точніше, мені його підказали)
по-перше, 4 різні людини (в моєму топіку і на двох ІРЦ-каналах) відрадили мені використовувати offlineimap. страшно глючне рішення, двоє людей написали (не в моєму топіку, сам знайшов), що воно скачало всі листи з усіх зазначених серверів, негайно їх видалило з диска і синхронізувала це неподобство з серверами. в обох випадках це були досить старі версії і я сильно підозрюю, що це було викликано неправильними настройками. але тим не менше, якщо хтось і захоче його спробувати, необхідний локальний бекап імап-сервера (оффлайн-папки - це не бекап, якщо все було видалено з сервера, при першому ж з'єднанні з сервером все з них миттєво піде теж). про останню версію, по якій мені не вдалося знайти баг-репопортов, мені сказали, що вона може зависнути, що (звичайному використанню) ніяк не вийде виявити і якщо система ніколи не відключається, і бекап не перевіряється (або не використовується в якості робочого мейлбокса з поддержівамімі клієнтами) - можна не помітити, як загубляться дані
серйозні пацани використовують isync (не плутати з еппловскій iSync) / mbsync. це одне і те ж, просто пакет раніше називався айсінк, потім перейменували в мбсінк (але в більшості дистрибутивів у нього залишили стару назву) і там є два виконуваних файлу з цими назвами, одне з них - симлінк на інше. все, без винятку, люди, які пробували обидва рішення, в результаті вибрали мбсінк і кажуть, що він набагато надійніше і швидше. я не знайшов жодного негатівнаого відкликання. по ньому дуже мало інформації (пара інструкцій з налаштування та офіційний мануал + пара лаконічних відгуків від щасливих користувачів). мені сказали, що в принципі, робити локальний бекап імап-серверів іншими засобами перед першою синхронізацією необов'язково. особливих підводних каменів немає (може спершу не зуміти з'єднатися з сервером, якщо неправильно налаштована аутентифікація, особливо актуально для гуглопочти).
крім цих двох ситуацій можна (і бажано) використовувати будь-який поштовий клієнт підтримує роботу з імап-серверами. якщо він використовується на тому ж комп'ютері, де вже є весь бекап і предвательно налаштований клієнт для maildir, можна використовувати онлайн-режим імап і не викачувати додаткові копії ящиків в оффлайн-папки (якщо при цьому надовго загубиться інтернет - всі листи будуть доступні тільки в maildir-кліетов). якщо хочеться мати копії листів в оффлайн-папках, але загальний обсяг папок занадто велін (і там багато непотрібних листів) - мбсінк підтримує часткову синхронізацію, при якій на серверах будуть зберігатися тільки листи за останній час або окремі папки, при цьому в maildir буде зберігатися і все, чого не залишилося на серверах.
у цього рішення є один мінус - мбсінк не підтримує вінду. формат maildir з нею несумісний (там використовуються двокрапки в іменах файлів). на даний момент не існує жодної інструкції і жодної заяви, що комусь вдалося змінити і зібрати мбсінк під виндой. я думаю, що це зміниться, коли підтримка десяткою вбудованого лінуксовского оточення (включаючи файлові системи) вийде з інсайдерською програми і буде визнана стабільною.
поки що, єдине рішення - запускати мбсінк і підтримуваного клієнта (я особисто, швидше за все, таки спробую консольний mutt, який, на відміну від evolution, вважається дуже стабільним - я не міг собі уявити, як це - працювати все життя з поштою в консольної програмі, але запустити її пару раз в житті вважаю допустимим) у віртуальній машині з лінуксом. якщо використовується mutt, то можна поставити дуже легку і стабільну систему без графічного сервері (але при цьому треба не забути налаштувати консоль для роботи з юнікодом). я особисто всім і завжди рекомендую arch linux, але хто не хоче сам все налаштовувати з нуля (мбсінк і поштового клієнта доведеться налаштовувати по-любому) і стежити за офіційними новинами арча (час від часу там щось змінюють і для чергового оновлення необхідно скористатися інструкцією), може спробувати ubuntu server. не забувайте оновлювати систему час від часу і робити повні бекапи всього.