Подозреваю, что вопрос в удалении пакета совместимости, который лежал вместе с 2013.10. При обновлении нужно было удалить все пакеты 2013.10 КРОМЕ пакета совместимости. В нем модели, которые нельзя выносить, без них Alfresco нормально не запускается. Миграция реестров, с большой вероятностью, не работает из-за этого же, SOLR не находит модели.
Програмирование это хорошо.
Я вот лично вообще не в зуб ногой в програмировании.
Я бы даже больше сказал я не умею и не знаю как это програмировать... Не прогер я. А написание скрипта методом проб и ошибок. Методом написал заработало @#$сь и забыл (хотя во время обучения в вузе писали мы огромные и интересные проги по фильтрации шумов видео сигнала, писали свои архиваторы, писали на асемблере, програмировали микросхемы и чипы, писали именно машинным кодом типа 0012 09dc, разрабатывали и програмировали свои нейросети, а также учились работать с графикой рисовали всяких снеговиков сабачек, чтобы они маргали глазами или открывали рот, это было реально очень интересно). А сейчас... ну ели ели код чужой почитать могу :) но чтобы прогить неее ну нафиГ. Если канечно цель именно в этом чтобы прям прогить. Тогда это круто. Лично мне не хватает усидчивости и терпения. У меня этот файлик имееет следующие параметры chmod 755
chown zimbra zimbra и файлик в mc у меня отображается со *delet_old_message.sh запускается он у меня вот так (в крон табе именно скрон таб пользователя zimbra чтобы его просмотреть логинимся под пользователем zimbra и пишем команду crontab -l) */10 * * * * /home/username/new.sh
запускаю я его из под пользователя zimbra из дериктории где распологается фаил zimbra@Zimbra:/home/username$ ./delet_old_message.sh
дериктория /tmp имеет следующие параметры Chmod 41777 Chown root root
P.S. надеюсь это тебе как-то поможет.
P.p.S.s. я тут просмотерл твой файлик ещё разок. Попробуй вместо переменных в коде указывать именно полную директорию. Ну то есть вместо
$ZIMBRA_BIN/zmmailbox
написать вот так
/opt/zimbra/bin/zmmailbox
У меня бывали случаи что скрипт не отрабатывал пока были переменные. Заменил их полными путями. И всё Стало ОГОНЬ.
Бред канечно... но рассказал всё что делал и знал :)
Я пробовал создавать файлик с самого начала в скрипте, ситуация не меняется. Запускаю из-под zimbra, права на создание и удаление есть. От root'а только не пробовал. Может, это как-то связано с пайпами баша, но я пока только изучаю программирование и не до конца разобрался в вопросе.
Спасибо за пожелание. Ваш подробный разбор и комментарии мне тоже очень помогли:)
А и не надо чтобы он притендовал. Главное это записать мысль на бумаге. И не забыть куда эту бумагу положил. Я вот сейчас смотрел на свой скрипт и ваще не фига не понял. Даже задался вопросом точно ли я это писал. Насчёт файлика.
А скрипту хватает прав на создание этого файла и его записи? Попробуй в начале скрипти создавать его touche ну а потом в конце просто его удалять.
Для такой проверки для начало просто сделай скрипт по созданию файла и например внесения в него почтовых адресов. Если дело не прокатит. То поиграйся с chmod или chown (вечно путаю эти два слова никак не могу запомнить за что они отвечают). Если не получится то попробуй запустить этот скрипт не из под root а из под zabbix.
Желаю удачи. А за скриптик спасибо. Пусть лежит вдруг пригодится :).
Добрый день, господа. Если кому нужно, выложу свой скрипт для удаления старой почты. Передо мной стояла задача удалить почту у всех пользователей до определённой даты из папок "Входящие" и "Отправленные" для уменьшения объёма дискового пространства, занимаемого почтовыми сообщениями. Скрипт сделан на базе уже упоминавшегося автором материала - www.zimbra.com/forums/administrators/32614-solved-delete-mails-via-cli-based-date.html с небольшими изменениями. Ключевое изменение здесь - это необратимое удаление писем с невозможностью их восстановления из "Корзины". Таким образом удаляются файлы почтовый сообщений, что приводит к высвобождению дискового пространства. Предварительно был сделан полный архив всех ящиков пользователей.
Сам скрипт :
#!/bin/bash############################################################### ПЕРЕМЕННЫЕ ##############################################################################ZIMBRA_BIN=/opt/zimbra/bin #Путь к исполняемым файламEMAIL=/tmp/email_list #Список пользователейsn=1#Номер строки в списке пользователей (для счётчика)sall=$(wc-l$EMAIL|awk'{ print $1 }')#Общее количество строк в списке пользователей (для счётчика)############################################################## СКРИПТ ###################################################################################Запрос ввода даты, ДО которой будут удалены сообщения в ящиках пользователей. Формат - месяц/день/год.echo"Enter the time that you would like to delete messages up to, in mm/dd/yy format. Example 04/10/09:"read THEDATE
$ZIMBRA_BIN/zmprov -l gaa ваш_домен |sort>$EMAIL#Выгружаем список пользователей в файл и сортируемwhileread line #Читаем файл со списком пользователей, пока в нём есть строкиdoecho"Processing $line... ($sn/$sall)"#Отображаем имя пользователя, чей почтовый ящик сейчас обрабатывается и счётчик (текущий/всего)touch/tmp/deleteOldMessagesList.txt #Создаём временный файл, куда будут записываться id удаляемых сообщений и команды на их удаление#Обрабатываем папку "Входящие"#Получаем id сообщенийfor i in`$ZIMBRA_BIN/zmmailbox -z-m$line search -l1000"in:/Inbox (before:$THEDATE)"|grep conv |sed-e"s/^ss*//"|sed-e"s/ss*/ /g"|cut-d" " -f2`doif[[$i =~ [-]{1}]]#Если перед id есть "-", то это сообщение (Message). Если нет "-", то это разговор (Conversation).thenMESSAGEID=${i#-}echo"deleteMessage $MESSAGEID">>/tmp/deleteOldMessagesList.txt #Пишем команду на удаление сообщения для этого id во временный файлelseecho"deleteConversation $i">>/tmp/deleteOldMessagesList.txt #Пишем команду на удаление разговора для этого id во временный файлfidone#Обрабатываем папку "Отправленные" по аналогии с папкой "Входящие"for i in`$ZIMBRA_BIN/zmmailbox -z-m$line search -l1000"in:/Sent (before:$THEDATE)"|grep conv |sed-e"s/^ss*//"|sed-e"s/ss*/ /g"|cut-d" " -f2`doif[[$i =~ [-]{1}]]thenMESSAGEID=${i#-}echo"deleteMessage $MESSAGEID">>/tmp/deleteOldMessagesList.txt
elseecho"deleteConversation $i">>/tmp/deleteOldMessagesList.txt
fidone#Удаляем сообщения$ZIMBRA_BIN/zmmailbox -z-m$line</tmp/deleteOldMessagesList.txt >>/tmp/process.log #Удаляем сообщения по id с помощью команд из временного файла, пишем лог-файл$ZIMBRA_BIN/zmmailbox -z-m$line emptyDumpster #Удаляем сообщения без возможности восстановления. В противном случае, файлы сообщений остаются на диске.rm-f/tmp/deleteOldMessagesList.txt #Удаляем временный файл с id сообщений и командами на удалениеecho"Messages for $line are successfully deleted!"#Вывод об успешной очистке почтового ящикаecho#Вставка пустой строки для разделенияsn=$[sn + 1]#Увеличиваем номер строки на единицу (для счётчика)done<$EMAIL
Скрипт не претендует на идеально грамотное решение, ибо знаний в программировании пока немного. В частности, грамотнее было бы реализовать получение всех папок у пользователя в ящике с передачей их названий в переменные (как уже советовал автор выше в комментариях), а обработку папок надо было попробовать реализовать в функции. Но он мне помог очистить ящики около 250 пользователей за раз при вводе только одного параметра - даты, до которой сообщения должны быть удалены. Пока только не смог разобраться со счётчиком - если заранее (до выполнения скрипта) не был создан файл /tmp/email_list, то счётчик всех строк в файле не отображается. Если файл уже был, то всё в порядке. Может, кто-нибудь подскажет, в чём проблема? Буду признателен за любую подсказку.
Бесплатная версия будет и в бинарниках и в исходниках. MySQL планируют заменить на MariaDB.
Уже 8.07 вышла. Установщик вырос на 50 МБ по сравнению с 8.06. При установке потребовало новую библиотеку для асинхронной работы с диском - libaio. Красивый роадмап.
Не знаю, с чем связанно, но нет возможности создавать новое сообщение.
пока разбираемя, с комментариями все попрежнему
Я вот лично вообще не в зуб ногой в програмировании.
Я бы даже больше сказал я не умею и не знаю как это програмировать... Не прогер я. А написание скрипта методом проб и ошибок. Методом написал заработало @#$сь и забыл (хотя во время обучения в вузе писали мы огромные и интересные проги по фильтрации шумов видео сигнала, писали свои архиваторы, писали на асемблере, програмировали микросхемы и чипы, писали именно машинным кодом типа 0012 09dc, разрабатывали и програмировали свои нейросети, а также учились работать с графикой рисовали всяких снеговиков сабачек, чтобы они маргали глазами или открывали рот, это было реально очень интересно). А сейчас... ну ели ели код чужой почитать могу :) но чтобы прогить неее ну нафиГ. Если канечно цель именно в этом чтобы прям прогить. Тогда это круто. Лично мне не хватает усидчивости и терпения. У меня этот файлик имееет следующие параметры
chmod 755
chown zimbra zimbra
и файлик в mc у меня отображается со *delet_old_message.sh
запускается он у меня вот так (в крон табе именно скрон таб пользователя zimbra чтобы его просмотреть логинимся под пользователем zimbra и пишем команду crontab -l)
*/10 * * * * /home/username/new.sh
запускаю я его из под пользователя zimbra из дериктории где распологается фаил
zimbra@Zimbra:/home/username$ ./delet_old_message.sh
дериктория /tmp имеет следующие параметры
Chmod 41777
Chown root root
P.S. надеюсь это тебе как-то поможет.
P.p.S.s. я тут просмотерл твой файлик ещё разок. Попробуй вместо переменных в коде указывать именно полную директорию. Ну то есть вместо
написать вот так
У меня бывали случаи что скрипт не отрабатывал пока были переменные. Заменил их полными путями. И всё Стало ОГОНЬ.
Бред канечно... но рассказал всё что делал и знал :)
Спасибо за пожелание. Ваш подробный разбор и комментарии мне тоже очень помогли:)
Начни с обращения к support@nic.ru
А скрипту хватает прав на создание этого файла и его записи? Попробуй в начале скрипти создавать его touche ну а потом в конце просто его удалять.
Для такой проверки для начало просто сделай скрипт по созданию файла и например внесения в него почтовых адресов. Если дело не прокатит. То поиграйся с chmod или chown (вечно путаю эти два слова никак не могу запомнить за что они отвечают). Если не получится то попробуй запустить этот скрипт не из под root а из под zabbix.
Желаю удачи. А за скриптик спасибо. Пусть лежит вдруг пригодится :).
zmmailbox -z -m имя_ящика emptyDumpster
Сам скрипт :
Скрипт не претендует на идеально грамотное решение, ибо знаний в программировании пока немного. В частности, грамотнее было бы реализовать получение всех папок у пользователя в ящике с передачей их названий в переменные (как уже советовал автор выше в комментариях), а обработку папок надо было попробовать реализовать в функции. Но он мне помог очистить ящики около 250 пользователей за раз при вводе только одного параметра - даты, до которой сообщения должны быть удалены. Пока только не смог разобраться со счётчиком - если заранее (до выполнения скрипта) не был создан файл /tmp/email_list, то счётчик всех строк в файле не отображается. Если файл уже был, то всё в порядке. Может, кто-нибудь подскажет, в чём проблема? Буду признателен за любую подсказку.
Красивый роадмап
Уже 8.07 вышла. Установщик вырос на 50 МБ по сравнению с 8.06. При установке потребовало новую библиотеку для асинхронной работы с диском - libaio.
Красивый роадмап.
Не знаю, с чем связанно, но нет возможности создавать новое сообщение.
dig yourdomain.com mx
dig yourdomain.com any
host $(hostname)
Вообще рекомендую прочитать еще раз статью wiki.zimbra.com/index.php