操作步驟:
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...