Биллинговая система Nodeny

Главная категория => Nodeny 49 => Тема начата: Maks от 19 Июня 2012, 12:19:31



Название: Скрипт удаление ненужных таблиц.
Отправлено: Maks от 19 Июня 2012, 12:19:31
Ранее у меня хранение статистики было 70 дней, потом уменьшил до 45, и после этого образовалось 25*6(6 букв а начале таблиц) лишних таблиц которые повисли в базе.

Можно удалить в ручную, но мне захотелось автоматизации.
И в этом мне помог 0xbad0c0d3
Все написано 0xbad0c0d3,благодарности ему, я только выкладываю.

И так. создаем скрипт
В тело которого пишем:
Код:
echo "show tables where Tables_in_bill REGEXP '^[stvxyz]2011+\x(9|10)'"|mysql -uroot -phardpass bill|grep -v Tables_|while read tbl; do echo "DROP TABLE $tbl;" >>drop.sql;

Где root  - пользователь
hardpass  - пасс
bill - название базы
2011 -год таблиц
9|10 - месяцы (октябрь ,сентябрь)

После запуска этого скрипта создаётся SQL файл (drop.sql) со списком удаляемых таблиц

Запускаем drop.sql командой
mysql -u root bill -phardpass < /home/maks/drop.sql
/home/maks/ - это путь с моему drop.sql

Все. если ошибок нет, то лишние таблицы были удалены.




Название: Re: Скрипт удаление ненужных таблиц.
Отправлено: Maks от 08 Июля 2012, 11:37:51
Опечатка с верху в скрипте, нет done
ВОт так нужно
Код:
echo "show tables where Tables_in_bill REGEXP '^[stvxyz]2011+\x(9|10)'"|mysql -uroot -phardpass bill|grep -v Tables_|while read tbl; do echo "DROP TABLE $tbl;" >>drop.sql; done