Добрый день всем.
выросла эта табличка до 2.1Гб, собственно вопрос кто как её уменьшал?
вот думаю если сделать так:
остановить ядро УТМ
выполнить DELETE FROM ip_groups WHERE is_deleted = 1;
затем OPTIMIZE TABLE ip_groups;
запустить ядро УТМ
какие подводные камни могут меня ждать ?????
ip_groups
Таблицу решил почистить ночью, так как ждать до 2-00 было лень нарисовал скрипт запихал его в крон.
может кому пригодится....
скрипт останавливает утм5 проверяет остановилась ли она, если да то выполняет mysql запросы после запускает утм5 пишет лог со временем что когда запустил.... и конечно не забываем перед этим всем сделать бекап Базы!!! ......
может кому пригодится....
Код: Выделить всё
cat ip_groups
#!/bin/sh
MYUSER="root"
MYPASS="pass"
MYHOST="127.0.0.1"
UTM5DB="UTM5"
log="/netup/utm5/log/ip_groups_delete.log"
DAEMON="utm5_core"
EXCLUDE="grep"
PROC="0"
START="/usr/local/etc/rc.d/utm5_core.sh start"
STOP="/usr/local/etc/rc.d/utm5_core.sh stop"
PS="/bin/ps"
GREP="/usr/bin/grep"
while [ `$PS -ax | $GREP $DAEMON | $GREP -v $EXCLUDE | wc -l` -gt "$PROC" ]
do
echo "`date +%Y%m%d,%H:%M:%S` Process utm5 stop !!!" >> $log
$STOP
sleep 60
done
echo "`date +%Y%m%d,%H:%M:%S` Process utm5 stop OK !!!" >> $log
echo "`date +%Y%m%d,%H:%M:%S` DELETE ip_groups start" >> $log
echo "DELETE FROM ip_groups WHERE is_deleted = 1" | mysql -h $MYHOST -u $MYUSER -p$MYPASS -D $UTM5DB
echo "`date +%Y%m%d,%H:%M:%S` DELETE ip_groups OK" >> $log
echo "`date +%Y%m%d,%H:%M:%S` OPTIMIZE ip_groups start" >> $log
echo "OPTIMIZE TABLE ip_groups" | mysql -h $MYHOST -u $MYUSER -p$MYPASS -D $UTM5DB
echo "`date +%Y%m%d,%H:%M:%S` OPTIMIZE ip_groups OK" >> $log
sleep 1
while [ `$PS -ax | $GREP $DAEMON | $GREP -v $EXCLUDE | wc -l` -le "$PROC" ]
do
echo "`date +%Y%m%d,%H:%M:%S` Process utm5 start !!!" >> $log
$START
sleep 60
done
echo "`date +%Y%m%d,%H:%M:%S` Process utm5 start OK !!!" >> $log
Можно было не останавливая утмку грохнуть записи с флагом is_deleted=1mrmix25 писал(а):Таблицу решил почистить ночью, так как ждать до 2-00 было лень нарисовал скрипт запихал его в крон.
может кому пригодится....скрипт останавливает утм5 проверяет остановилась ли она, если да то выполняет mysql запросы после запускает утм5 пишет лог со временем что когда запустил.... и конечно не забываем перед этим всем сделать бекап Базы!!! ......Код: Выделить всё
cat ip_groups #!/bin/sh MYUSER="root" MYPASS="pass" MYHOST="127.0.0.1" UTM5DB="UTM5" log="/netup/utm5/log/ip_groups_delete.log" DAEMON="utm5_core" EXCLUDE="grep" PROC="0" START="/usr/local/etc/rc.d/utm5_core.sh start" STOP="/usr/local/etc/rc.d/utm5_core.sh stop" PS="/bin/ps" GREP="/usr/bin/grep" while [ `$PS -ax | $GREP $DAEMON | $GREP -v $EXCLUDE | wc -l` -gt "$PROC" ] do echo "`date +%Y%m%d,%H:%M:%S` Process utm5 stop !!!" >> $log $STOP sleep 60 done echo "`date +%Y%m%d,%H:%M:%S` Process utm5 stop OK !!!" >> $log echo "`date +%Y%m%d,%H:%M:%S` DELETE ip_groups start" >> $log echo "DELETE FROM ip_groups WHERE is_deleted = 1" | mysql -h $MYHOST -u $MYUSER -p$MYPASS -D $UTM5DB echo "`date +%Y%m%d,%H:%M:%S` DELETE ip_groups OK" >> $log echo "`date +%Y%m%d,%H:%M:%S` OPTIMIZE ip_groups start" >> $log echo "OPTIMIZE TABLE ip_groups" | mysql -h $MYHOST -u $MYUSER -p$MYPASS -D $UTM5DB echo "`date +%Y%m%d,%H:%M:%S` OPTIMIZE ip_groups OK" >> $log sleep 1 while [ `$PS -ax | $GREP $DAEMON | $GREP -v $EXCLUDE | wc -l` -le "$PROC" ] do echo "`date +%Y%m%d,%H:%M:%S` Process utm5 start !!!" >> $log $START sleep 60 done echo "`date +%Y%m%d,%H:%M:%S` Process utm5 start OK !!!" >> $log