資料庫 mysql資料庫定時備份

2021-09-02 07:59:03 字數 1426 閱讀 8520

操作步驟:

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資料庫定時備份

建立shell指令碼 在 usr local mysql 資料夾下建立backupdb.s 件 指令碼檔案可以自定義位置 vim backupdb.sh 建立指令碼內容如下 bin sh db user root db passwd 123123 db name userdb name date y...

mysql資料庫定時備份

找乙個目錄新建乙個指令碼,這裡選擇 var bin vim var bin mysql data backup.sh指令碼 以下配置資訊請自己修改 mysql user root mysql備份使用者 mysql password root mysql備份使用者的密碼 mysql host loca...

MySql 資料庫定時備份

1 使用sqldump 任務計畫 mysqldump備份成sql檔案 假想環境 mysql 安裝位置 c mysql 論壇資料庫名稱為 bbs mysql root 密碼 123456 資料庫備份目的地 d db backup 指令碼 rem code start echo off cd c mys...