Экспорт сообщений
Возникла необходимость оставить письма в ящиках пользователей за 2014 год предварительно старые письма сохранить в архив. Ящиков более 100. Заходить в каждый и руками делать экспорт не вариант. У меня бэкап делается через GetRestUrl. Как к нему добавить даты, с которой по какую выгружать сообщения не нашел.
Есть идеи как можно такой экспорт сообщений сделать?
Есть идеи как можно такой экспорт сообщений сделать?
Комментарии
24/12/2014 - 15:24
скрипт делается примерно следующим образом (делал очень давно на 6 ой вроде версии, возможно что то изменилось).
zmmailbox -z -m admin@example.com s -t message -l 999 "after:12/01/14 and before:12/31/14"
покажет все письма с 1 по 31 января 2014. Чтобы получит только id :
zmmailbox -z -m admin@dacnw.ru s -t message -l 999 "after:12/01/14 and before:12/31/14" |awk '{ if (NR!=1) {print}}'| grep mess | awk '{ print $2 "," }' | tr -d '\n'
Эти id можно загнать в переменную и потом уже перемещать, удалять и т.д.
Естественно что перед этим нужно перебрать всех пользователей, список пользователей можнополучить командой
zmprov -lgaa
Если необходимо так же не потерять папку в которой лежало письмо, то нужно будет перебирать так же все папки у каждого пользователя, командой:
zmmailbox -z -m admin@example.com gaf
В общем как то так, существенный недостаток, что поиск не покажет больше 999 элементов, нужно еще так же перебирать все странички, если в выводе команды "after:12/01/14 and before:12/31/14" стоит more:true.
Как вариатн советую почитать вот это
http://wiki.zimbra.com/wiki/Ajcody-Migration-Notes#Export_Using_Query_String_-_Before_And_After_Dates
Там есть еще пара примеров.
26/12/2014 - 15:54
В принципе сам разобрался. Осталось решить вопрос с количеством писем больше 1000. Идея есть - осталось обкатать.