天天看點

shell 腳本自動備份 mysqlshell + 計劃任務備份mysql小知識點

即使現在的雲資料庫如此強大,但是一些小公司或小項目,還是業務和資料放在一台伺服器,提心吊膽不知道啥時候誤操作把資料庫drop了,誤删除了資料,是以每天自動備份資料庫非常有必要,如果您使用的雲資料庫可以忽略此文章。

shell + 計劃任務備份mysql

#!/bin/bash
#備份路徑
backUpPath='/data/backup'

#資料庫資訊
host='192.168.3.1'  
port='3306'
username='root'
password='123456'
dbname='test'

#命名規則
backname=`date "+%Y-%m-%d-%H-%M"`

#連接配接資料庫
mysqldump --host=${host} --port=${port} --user=${username} --password=${password} ${dbname} > ${backUpPath}/${backname}.sql
           

小知識點

1. mysqldump

2. 計劃任務

shell 腳本自動備份 mysqlshell + 計劃任務備份mysql小知識點

特殊符号

  • “*” 代表取值範圍内的數字,
  • “/” 代表”每”,
  • “-” 代表從某個數字到某個數字,
  • “,” 分開幾個離散的數字

執行個體

  • 5 * * * * /shell/back.sh //指定每小時的第5分鐘執行一次備份指令
  • */10 * * * * /shell/back.sh //指定每小時的第10分鐘執行一次備份指令
  • 8-10 * * * * /shell/back.sh //指定每小時的第8-10分鐘執行一次備份指令
  • 8,9,11 * * * * /shell/back.sh //指定每小時的第8 9 11分鐘執行一次備份指令

計劃任務管理

crontab -l  //顯示目前計劃任務
crontab -e  //編輯計劃任務

/etc/init.d/crond restart  //重新開機計劃任務
/etc/init.d/crond start   //開始計劃任務
/etc/init.d/crond reload  //重載配置檔案
/etc/init.d/crond end //關閉計劃任務

 cd /var/spool/cron/    //檢視目前使用者的計劃任務檔案