一.問題描述
由於使用的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 用來釋放刪除數據後釋放磁盤佔用空間。
三.定時任務配置,一個星期執行一次。