Вопрос по обновлению UTM-5.2.1-003 до последнего релиза
Вопрос по обновлению UTM-5.2.1-003 до последнего релиза
Доброго всем времени суток.
Собственно сразу суть проблемы.
Есть собственно установленная и рабочая система, но версия старая, 5.2.1-003 В ней некоторые вещи работают некоректно. К тому же руководство купили обновление и поставили задачу обновить биллинг.
Я знаю, что при переходе на версию 006 была заменена система лицензирования. Ключик мы возьмём в личном кабинете. Это не будет проблемой. Проблема заключается в следующем. Учитывая, что произошло очень много изменений с момента выхода 003-го релиза, нужно каким-то образом коректно обновить биллинг так, чтобы были внесены все изменения, начиная с 004-го релиза.
Слышай что для этого достаточно обновить сразу до 008-й версии, но мне это кажется несколько странным. неужели в дампе обновления есть все изменения из предыдущих релизов.
Подскажите друзья. нужно ли пошагово обновлять поочереди с 003 до 004, потом до 005, потом до 006, потом до 007 и потом до 008? или действительно достаточно взять один дамп обновления?
У нас более 1000 абанентов, и не дай бог хоть что-то потерть.....
Заранее благораден.
Собственно сразу суть проблемы.
Есть собственно установленная и рабочая система, но версия старая, 5.2.1-003 В ней некоторые вещи работают некоректно. К тому же руководство купили обновление и поставили задачу обновить биллинг.
Я знаю, что при переходе на версию 006 была заменена система лицензирования. Ключик мы возьмём в личном кабинете. Это не будет проблемой. Проблема заключается в следующем. Учитывая, что произошло очень много изменений с момента выхода 003-го релиза, нужно каким-то образом коректно обновить биллинг так, чтобы были внесены все изменения, начиная с 004-го релиза.
Слышай что для этого достаточно обновить сразу до 008-й версии, но мне это кажется несколько странным. неужели в дампе обновления есть все изменения из предыдущих релизов.
Подскажите друзья. нужно ли пошагово обновлять поочереди с 003 до 004, потом до 005, потом до 006, потом до 007 и потом до 008? или действительно достаточно взять один дамп обновления?
У нас более 1000 абанентов, и не дай бог хоть что-то потерть.....
Заранее благораден.
Как раз сегодня обновился с 5.2.1-007.
По времени это очень долго.
Ставил в пятницу с утра обновлять структуры базы, не дождался и ушел домой.
Все обновилось и работает. База на 16 гб.
Читал здесь:
http://www.netup.ru/UTM5/articles.php?n=48
ps.
Работает пока на тестовом серваке разумеется
Когда 100% увидим, что все пашет, накатим на головной сервак.
По времени это очень долго.
Ставил в пятницу с утра обновлять структуры базы, не дождался и ушел домой.
Все обновилось и работает. База на 16 гб.
Читал здесь:
http://www.netup.ru/UTM5/articles.php?n=48
ps.
Работает пока на тестовом серваке разумеется
Когда 100% увидим, что все пашет, накатим на головной сервак.
Спасибо за инфу, но меня интересует конкретно обновление с 003 до последнего. с 007 обновиться не проблема, а как на счёт более старых версий......tesla писал(а):Как раз сегодня обновился с 5.2.1-007.
По времени это очень долго.
Ставил в пятницу с утра обновлять структуры базы, не дождался и ушел домой.
Все обновилось и работает. База на 16 гб.
Читал здесь:
http://www.netup.ru/UTM5/articles.php?n=48
ps.
Работает пока на тестовом серваке разумеется
Когда 100% увидим, что все пашет, накатим на головной сервак.
Я уже писал, что обновлялись с 5.2.0-002 до 007 без проблем. Для ускорения переноса можно сделать так:nops писал(а):Спасибо за инфу, но меня интересует конкретно обновление с 003 до последнего. с 007 обновиться не проблема, а как на счёт более старых версий......
- Сделать бэкап базы, исключая discount_transaction_*
- перенести БД на временный хост (scp), убедиться что всё поднялось
- обновить всё что надо (mysql например)
- latin-1=>utf8, создать из дампа новую базу
- перенести текущий месяц discount_transaction_* из старой базы в новую (самый длительный шаг; в принципе, можно не делать и просто залить позже в архивную таблицу), не забыть добавить в ЛК сообщение, что данные по трафику временно недоступны.
- пробежаться глазами по всем инструкциям к обновлениям, местами надо сделать доп. действия
- запустить новую версию (всё уже работает)
- настроить архивацию; если нужно сохранить информацию по трафику за старые месяцы, то, не спеша, помесячно переносить их в новую БД в архивные таблицы.
Небольшое добавление не в обиду предыдущему автору.
Делаю дамп всех таблиц.
Затем запросом
Получаю выжимку с начала 01/11/2010
Выжимка из discount_transactions_iptraffic_all делается по аналогии
ps
Это с вырезом таблиц discount_transactions_iptraffic_all и discount_transactions_all
Код: Выделить всё
#!/bin/sh
for TABLE in $(echo "show tables" | mysql -u root UTM5 |grep -v Tables_in_)
do
mysqldump -v --add-drop-table -u root UTM5 ${TABLE} > /mnt/mysqldumpfile_$TABLE.sql
done
Затем запросом
Код: Выделить всё
mysql -u root -e 'use UTM5;select * from discount_transactions_all where discount_date>1288569599;' >discount_transactions_all.sql
Выжимка из discount_transactions_iptraffic_all делается по аналогии
ps
Это с вырезом таблиц discount_transactions_iptraffic_all и discount_transactions_all
Код: Выделить всё
#!/bin/sh
for TABLE in $(echo "show tables" | mysql -u root UTM5 |grep -v Tables_in_ |grep -y 'discount_transactions_*')
do
mysqldump -v --add-drop-table -u root UTM5 ${TABLE} > /mnt/mysqldumpfile_$TABLE.sql
done
Спасибо всем за советы)
Как я понял, беру дамп(без данных по трафику), заливаю на новую машину, обновляю до 007, а потом до 008. запускаю, проверяю что всё работает, устанавливаю вместо старой.
Заливаю оставшиеся 2 таблици с данными по трафику и всё работает из коробки?!
Я правильно понял?!)
Или всё таки лучше сначала до 005, потом до 006, потом до 007 ну и в оконцовке до 008?
дайте дельный совет. Как лучше сделать?
Как я понял, беру дамп(без данных по трафику), заливаю на новую машину, обновляю до 007, а потом до 008. запускаю, проверяю что всё работает, устанавливаю вместо старой.
Заливаю оставшиеся 2 таблици с данными по трафику и всё работает из коробки?!
Я правильно понял?!)
Или всё таки лучше сначала до 005, потом до 006, потом до 007 ну и в оконцовке до 008?
дайте дельный совет. Как лучше сделать?
Отличие в возможности перенести информацию из discount_transactions_* уже после запуска биллинга, что снижает время простоя в разы.tesla писал(а):Небольшое добавление не в обиду предыдущему автору.
Думаю, что можно обновиться и сразу до 008. Если машина новая -- всё ещё проще и быстрее, займёт считанные минуты, так что можно тестировать сколько угодно.
на старом
mysqldump -e -q --ignore-table discount_transactions_iptraffic_all --ignore-table discount_transactions_all UTM5 > UTM.sql
sed 's/latin1/utf8/g' UTM.sql
на новом
mysqladmin create UTM5
mysql UTM5 < UTM.sql
mysql -f UTM5 < /netup/utm5/UTM5_MYSQL_update.sql
остаётся только залить новый ключик, сконвертить файрволлы, запускать и тестировать. переносить discount_transactions_* можно уже потом.
Кстати написал и не подумал. Так не годиться
Памяти просто не хватит для запроса.
Посему вопрос. Как задампить данные в файл
where discount_date>1288569599
Из discount_transactions_*
Код: Выделить всё
mysql -u root -e 'use UTM5;select * from discount_transactions_all where discount_date>1288569599;' >discount_transactions_all.sql
Посему вопрос. Как задампить данные в файл
where discount_date>1288569599
Из discount_transactions_*
Допустим все сделано как описано выше.dk писал(а): переносить discount_transactions_* можно уже потом.
Как вливать discount_transactions_* (которые не сконвертированы под новую структуру mysql)
Сделать вливание на тестовый сервер и там сделать конвертацию таблиц
discount_transactions_* под 008 с выгрузкой в дамп и вливанием на работающий сервер?
Как быть с автоинкрементами? Создавать автоинкремент в работающем билинге на таблицу discount_transactions_all на 1 больше чем было?
есть некоторая проблема. У нас работало динамическое шейпирование по логину , после обновления умельцы из нетапа решили не учитывать регистр логина и соответственно шейпинг перестал работать на тех людях, которые логин с большой буквы писали. При звонке в нетап "Че за фигня? Люди с неверными паролями подключаются!!!!" Мы были посланы на х... и еще сказали что переделака будет стоить 300 тыс. р... Вот такие они милашки
В общем получилось следующее после изысканий.
UTM остановлена и доведена до 008.
Скриптом по архивированию таблиц списаний пробегаемся по Mysql.
Далее делаются апдейты структуры mysql, обновления индексов, правил фаервола, лицензии дампами из поставки 008 версии.
Происходит вся процедура практически за мгновения.
Далее запускается UTM и проверяется работа.
При этом у архивных таблиц:
discount_transactions_all_месяц_год
discount_transactions_iptraffic_all_месяц_год
Остаются не обновлены индексы , но отчеты генерируются нормально.
Можно сделать обновления индексов ночью не останавливая систему.
UTM остановлена и доведена до 008.
Скриптом по архивированию таблиц списаний пробегаемся по Mysql.
Далее делаются апдейты структуры mysql, обновления индексов, правил фаервола, лицензии дампами из поставки 008 версии.
Происходит вся процедура практически за мгновения.
Далее запускается UTM и проверяется работа.
При этом у архивных таблиц:
discount_transactions_all_месяц_год
discount_transactions_iptraffic_all_месяц_год
Остаются не обновлены индексы , но отчеты генерируются нормально.
Можно сделать обновления индексов ночью не останавливая систему.
-
- Сообщения: 31
- Зарегистрирован: Сб июл 26, 2008 11:58
отработал втой скриптtesla писал(а):Небольшое добавление не в обиду предыдущему автору.
Делаю дамп всех таблиц.Код: Выделить всё
#!/bin/sh for TABLE in $(echo "show tables" | mysql -u root UTM5 |grep -v Tables_in_) do mysqldump -v --add-drop-table -u root UTM5 ${TABLE} > /mnt/mysqldumpfile_$TABLE.sql done
Затем запросомПолучаю выжимку с начала 01/11/2010Код: Выделить всё
mysql -u root -e 'use UTM5;select * from discount_transactions_all where discount_date>1288569599;' >discount_transactions_all.sql
Выжимка из discount_transactions_iptraffic_all делается по аналогии
ps
Это с вырезом таблиц discount_transactions_iptraffic_all и discount_transactions_allКод: Выделить всё
#!/bin/sh for TABLE in $(echo "show tables" | mysql -u root UTM5 |grep -v Tables_in_ |grep -y 'discount_transactions_*') do mysqldump -v --add-drop-table -u root UTM5 ${TABLE} > /mnt/mysqldumpfile_$TABLE.sql done
Код: Выделить всё
#!/bin/sh
for TABLE in $(echo "show tables" | mysql -u root UTM5 |grep -v Tables_in_ |grep -y 'discount_transactions_*')
do
mysqldump -v --add-drop-table -u root UTM5 ${TABLE} > /mnt/mysqldumpfile_$TABLE.sql
done
-
- Сообщения: 31
- Зарегистрирован: Сб июл 26, 2008 11:58
Код: Выделить всё
#!/bin/sh
for TABLE in $(echo "show tables" | mysql -u root UTM5 |grep -v Tables_in_ |grep -y 'discount_transactions_*')
do
mysqldump -v --add-drop-table -u root UTM5 ${TABLE} > /mnt/mysqldumpfile_$TABLE.sql
done
например хочу вытащить только с 01.11.2010 или с 01.12.2010
Дата расчитывается просто.steckovski писал(а):Как доработать скрипт чтобы в нем была дата и как ее расчитыватьКод: Выделить всё
#!/bin/sh for TABLE in $(echo "show tables" | mysql -u root UTM5 |grep -v Tables_in_ |grep -y 'discount_transactions_*') do mysqldump -v --add-drop-table -u root UTM5 ${TABLE} > /mnt/mysqldumpfile_$TABLE.sql done
например хочу вытащить только с 01.11.2010 или с 01.12.2010
http://www.bl2.ru/prograng/timestamp.html
Получаешь свои unixtime 2 раза, а в скрипте указываешь диапазон.
Или так
SELECT * FROM news
WHERE created_at BETWEEN STR_TO_DATE('2008-08-14 00:00:00', '%Y-%m-%d %H:%i:%s')
AND STR_TO_DATE('2008-08-23 23:59:59', '%Y-%m-%d %H:%i:%s');