【數(shù)據(jù)庫】mysql數(shù)據(jù)庫定時備份

操作步驟:

1、將腳本放到任意位置下,不容易被誤刪即可

2、定時任務(wù),一周執(zhí)行一次腳本

腳本如下:

#!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天之前的時間戳

#進(jìn)入mysql數(shù)據(jù)庫,清除zabbix歷史數(shù)據(jù)

$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個月前的備份數(shù)據(jù)

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

在數(shù)據(jù)庫歷史數(shù)據(jù)過大,可以考慮truncate掉歷史數(shù)據(jù)。

$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數(shù)據(jù)庫定時備份

(出處: 樂維論壇)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容