linux中Zabbix自动清理历史数据脚本

作者:袖梨 2022-06-30

随着时间增长监控的机器越来越多,其入库数据量也会越来越大,当数据量到一定时候的时候其反映速度会比较慢;于是我们就需要清理一些历史数据。

#!/bin/bash
 
User="root"
 
Passwd="xxxxxx"
 
HIS_Date=`date -d $(date -d "-90 day" +%Y%m%d) +%s` #取90天之前的时间戳
 
TRE_Date=`date -d $(date -d "-365 day" +%Y%m%d) +%s` #取365天之前的时间戳
 
$(which mysql) -u${User} -p${Passwd} -e "
 
use zabbix;
 
DELETE FROM history WHERE 'clock' < $HIS_Date;
 
optimize table history;
 
DELETE FROM history_str WHERE 'clock' < $HIS_Date;
 
optimize table history_str;
 
DELETE FROM history_uint WHERE 'clock' < $HIS_Date;
 
optimize table history_uint;
 
DELETE FROM trends WHERE 'clock' < $TRE_Date;
 
optimize table trends;
 
DELETE FROM trends_uint WHERE 'clock' < $TRE_Date;
 
optimize table trends_uint;
 
DELETE FROM events WHERE 'clock' < $TRE_Date;
 
optimize table events;

PS:history是详细历史数据表,trends是图形趋势表;可以根据自己需求设置保留时间。

相关文章

精彩推荐