#!/bin/bash
# 設定mysql的登入使用者名稱和密碼(根據實際情況填寫)
mysql_user="root"
mysql_password="66666666"
mysql_host="localhost"
mysql_port="3306"
mysql_charset="utf8mb4"
# 備份檔案存放位址(根據實際情況填寫)
backup_location=/sql_backup
# 設定時間為7天
expire_backup_delete="on"
expire_days=7
backup_time=`date +%y%m%d%h%m`
backup_dir=$backup_location
welcome_msg="welcome to use mysql backup tools!"
# 判斷mysql例項是否正常執行
mysql_ps=`ps -ef |grep mysql |wc -l`
mysql_listen=`netstat -an |grep listen |grep $mysql_port|wc -l`
if [ [$mysql_ps == 0] -o [$mysql_listen == 0] ]; then
echo "error:mysql is not running! backup stop!"
exit
else
echo $welcome_msg
fi# 備份指定資料庫中資料(此處假設資料庫是newgame)
mysqldump -h$mysql_host -p$mysql_port -u$mysql_user -p$mysql_password -b newgame> $backup_dir/newgame-$backup_time.sql
flag=`echo $?`
if [ $flag == "0" ];then
echo "database newgame success backup to $backup_dir/newgame-$backup_time.sql.gz"
else
echo "database newgame backup fail!"
fi# 刪除過期資料
if [ "$expire_backup_delete" == "on" -a "$backup_location" != "" ];then
`find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf`
echo "expired backup data delete complete!"
fi
編輯定時任務:
crontab -e
# 新增定時任務(每天8:10以及16:10,23:10執行備份操作)
10 8,16,23 * * * cd /mysqlback/;sh mysql_backup.sh>>backup.log 2>&1
#此處重啟一下crontab讓配置生效
/bin/systemctl restart crond.service
mysql -u root -p movegame < movegame.sql
參考: MySQL運維 XBK備份
一 物理備份 xbk 1 軟體安裝 1 安裝依賴 2 安裝 3 備份的命令 2 備份實現原理 3 備份語句 4 備份完成的目錄結構 二 恢復資料 三 增量備份 1 增量備份的介紹 2 增量備份策略設計及實現 3 檢視增量備份和全量備份檔案差異 注意 增量備份恢復,中間的last lsn號不能終斷,否...
Linux 運維定時
30 8 18 1 1 5 mxr mxr.sh 對以上進行解釋 每半個小時執行一次 從每天的8點到18點 從星期一到星期五 cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些引數與說明 crontab u 設定某個使用者的cron服務,一般root使用者在執行這個命令的時...
mysql定時備份指令碼 MySql定時備份指令碼
最近需要對某服務的資料庫資料進行備份,因此參考網上教程完成資料庫備份指令碼.因為服務的使用頻率較低,因此設定定時任務,在每天的中午以及午夜時分進行備份操作.bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user mysql password mysql hos...