mysql每日備份for Linux

Jasonccj發表於2019-04-01

1.建立資料庫備份目錄

選擇自己想儲存的目錄,以下目錄僅供演示:

cd /home
mkdir mysqlData
cd mysqlData
複製程式碼

2.建立備份shell指令碼

建立一個mysqlData.sh ,根據以下情況填寫以下內容:
匯出字尾為.sql檔案,輸入以下內容:

mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
複製程式碼

匯出壓縮包.gz檔案,輸入以下內容:

mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
複製程式碼

刪除多少天前資料庫檔案壓縮包

find /home/icareserver/mysqlData -name "icare_dev_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
複製程式碼

提示

  • 把 username 替換為實際的使用者名稱
  • 把 password 替換為實際的密碼
  • 把 DatabaseName 替換為實際的資料庫名

3.為指令碼檔案新增可執行許可權

chmod u+x mysqlData.sh
複製程式碼

4.利用定時任務執行指令碼

執行定時任務需要安裝crontab,沒安裝的請自行安裝

crontab -e
複製程式碼

編輯輸入以下內容:

*/1 * * * * /home/mysqlData/mysqlData.sh  
複製程式碼

上面的意思是每分鐘執行一次指令碼.

00 0 * * * * /home/mysqlData/mysqlData.sh
複製程式碼

上面的意思是每天零點執行一次指令碼

  • 具體關於crontab時間設定可以訪問此參考連結

5.重啟定時任務

service crond restart 
複製程式碼

6.檢視定時任務實時執行概況

tail -f /var/log/cron
複製程式碼

寫在最後

相關文章