mysql數據庫備份_可執行文件


這段時間接手運維的工作,剛開始就嘗到了數據丟失的痛!老板抱怨,同事抱怨!都說先刪庫再跑路,我還不想跑!

下面是我的備份記錄:(分4步)

1.編寫備份執行文件sqlAutoBak.sh

 1 #!/bin/sh
 2 
 3 # Database info
 4 DB_USER="數據庫用戶"
 5 DB_PASS="數據庫密碼"
 6 DB_HOST="localhost"
 7 DB_NAME="數據庫名"
 8 
 9 # Others vars
10 BIN_DIR="/usr/local/mysql/bin"            #the mysql bin path
11 BCK_DIR="/root/data_backups/timing"    #備份文件位置
12 DATE=$(date "+%Y-%m-%d_%H:%M:%S")
13 
14 # 備份命令
15 $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql

 

 2.上傳到服務器中,給文件sqlAutoBak.sh賦權限

# chmod 777 sqlAutoBak.sh

 

3.編輯定時任務

crontab -e

將下面語句加到任務中

 17 17 *   * * /bin/sh /root/data_backups/timing/ sqlAutoBak.sh                       #(每天17時17分備份)
19 17 *   * * /bin/sh /root/data_backups/timing/sqlAutoBak.sh         #(每天17時19分備份)
 
上面語句時間分別對應:   
19   17       *     *      *
分    時   日期  月  星期
 
/root/data_backups/....對應執行文件位置!
 
注:多個任務就加多條任務語句,多個數據庫就多加執行文件
 
 
4.重啟crond
service crond  restart    //重啟
service crond  status     //查看狀態

 

 

Linux 系統下,如果已經有了Crond的作業,但是發現它並沒有執行的話,可能有下面幾個原因:

1、crond服務沒有啟動;

2、crontab沒有按要求添加;

3、crontab的使用者帳號受到限制;

4、腳本或者命令沒有可執行權限;

5、服務器時間與本地時間的不同步;

 

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com