ITPub博客

首页 > 数据库 > MySQL > 【数据库】mysql数据库定时备份

【数据库】mysql数据库定时备份

原创 MySQL 作者:乐维君_ 时间:2018-12-03 15:04:46 0 删除 编辑

操作步骤:
1、将脚本放到任意位置下,不容易被误删即可
2、定时任务,一周执行一次脚本


脚本如下:
#!bin/bash

backuppath=/data/mysql/backup
date=$(date +%Y%m%d%H%M)
SQLuser=root
SQLpwd=password
mysqldump=/usr/local/mysql/bin/mysqldump
mysql=/usr/local/mysql/bin/mysql
HIS_Date=`date -d $(date -d "-30 day" +%Y%m%d) +%s`  #取30天之前的时间戳
Sql_Date=`date -d $(date -d "-7 day" +%Y%m%d) +%s`  #取7天之前的时间戳



#进入mysql数据库,清除zabbix历史数据

$mysql -u$SQLuser -p$SQLpwd -e"
    use zabbix;
    delete from history WHERE 'clock' < $Sql_Date;
    delete from history_uint WHERE 'clock' < $Sql_Date;
    delete from history_str WHERE 'clock' < $Sql_Date;
    delete from history_text WHERE 'clock' < $Sql_Date;
    delete from history_log WHERE 'clock' < $Sql_Date;
    exit
    "



#建立备份目录

if [ ! -e $backuppath ];then
    mkdir -p $backuppath
fi



#开始备份zabbix库

$mysqldump -u$SQLuser -p$SQLpwd  zabbix  >$backuppath/zabbix$date.sql



#删除1个月前的备份数据

find /data/mysql/backup -mtime +30 -type f -name \zabbix*.sql -exec rm -f {} \;

在数据库历史数据过大,可以考虑truncate掉历史数据。

$mysql -u$SQLuser -p$SQLpwd -e"
    use zabbix;
        truncate table history;
        truncate table history_log;
    truncate table history_uint;
    truncate table history_str;
    truncate table history_text;
        exit
        "


原文地址

mysql数据库定时备份

(出处: 乐维论坛)


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31561206/viewspace-2222510/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Zabbix-专注运维全栈监控! Ansible-解读自动化运维! 玩转Zabbix:177428068 技术论坛:乐维论坛 微信公众号:乐维社区

注册时间:2018-11-07

  • 博文量
    21
  • 访问量
    23201