免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4051 | 回复: 0

[Zabbix] 设置mysql数据库定时备份 [复制链接]

论坛徽章:
0
发表于 2018-12-03 16:47 |显示全部楼层
操作步骤:
1、将脚本放到任意位置下,不容易被误删即可
2、定时任务,一周执行一次脚本

脚本如下:
#!bin/bash

  1. backuppath=/data/mysql/backup
  2. date=$(date +%Y%m%d%H%M)
  3. SQLuser=root
  4. SQLpwd=password
  5. mysqldump=/usr/local/mysql/bin/mysqldump
  6. mysql=/usr/local/mysql/bin/mysql
复制代码
  1. HIS_Date=`date -d $(date -d "-30 day" +%Y%m%d) +%s`  #取30天之前的时间戳
  2. Sql_Date=`date -d $(date -d "-7 day" +%Y%m%d) +%s`  #取7天之前的时间戳
复制代码

#进入mysql数据库,清除zabbix历史数据
  1. $mysql -u$SQLuser -p$SQLpwd -e"
  2.     use zabbix;
  3.     delete from history WHERE 'clock' < $Sql_Date;
  4.     delete from history_uint WHERE 'clock' < $Sql_Date;
  5.     delete from history_str WHERE 'clock' < $Sql_Date;
  6.     delete from history_text WHERE 'clock' < $Sql_Date;
  7.     delete from history_log WHERE 'clock' < $Sql_Date;
  8.     exit
  9.     "
复制代码

#建立备份目录
if [ ! -e $backuppath ];then
    mkdir -p $backuppath
fi

#开始备份zabbix库
  1. $mysqldump -u$SQLuser -p$SQLpwd  zabbix  >$backuppath/zabbix$date.sql
复制代码

#删除1个月前的备份数据
  1. find /data/mysql/backup -mtime +30 -type f -name \zabbix*.sql -exec rm -f {} \;
复制代码

在数据库历史数据过大,可以考虑truncate掉历史数据。
  1. $mysql -u$SQLuser -p$SQLpwd -e"
  2. use zabbix;
  3. truncate table history;
  4. truncate table history_log;
  5. truncate table history_uint;
  6. truncate table history_str;
  7. truncate table history_text;
  8. exit
  9. "
复制代码



原文地址
mysql数据库定时备份


(出处: 乐维论坛)








您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。




----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP