一.问题描述
由于使用的zabbix服务器配置不高,磁盘空间及CPU,内存资源有限,为提高可用性,对于历史数据进行定期清理
二.shell编写
#!/bin/bash
User="zabbix_user"
Passwd="password"
Date=`date -d $(date -d "-30 day" +%Y%m%d) +%s`
/usr/local/mysql/bin/mysql -u${User} -p${Passwd} -e "
use zabbix;
delete from history where clock < $Date;
optimize table history;
delete from history_str where clock < $Date;
optimize table history_str;
delete from history_uint where clock < $Date;
optimize table history_uint;
delete from trends where clock < $Date;
optimize table trends;
delete from trends_uint where clock < $Date;
optimize table trends_uint;
delete from events where clock < $Date;
optimize table events;
"
其中 optimize table 用来释放删除数据后释放磁盘占用空间。
三.定时任务配置,一个星期执行一次。