Linux下實現MySQL數據庫每天定時自動備份


使用MySQL自帶的備份工具+ crontab 的方式來實現備份

1、查看磁盤掛載信息(選一個容量合適的)

  1. #df -h 

2、創建備份目錄

為了方便,在/home保存備份文件;

  1. cd /home/game 
  2. mkdir backup 
  3. cd backup 

3、創建備份Shell腳本

  1. vi bkDatabaseName.sh 

PS:注意把以下命令中的DatabaseName換為實際的數據庫名稱;

輸入/粘貼以下內容:

  1. #!/bin/bash 
  2. mysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql 

對備份進行壓縮:

  1. #!/bin/bash 
  2. mysqldump -uusername -ppassword DatabaseName | gzip > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz 

注意:

  • 把username 替換為實際的用戶名
  • 把password 替換為實際的密碼
  • 把DatabaseName 替換為實際的數據庫名

4、添加可執行權限

  1. chmod u+x bkDatabaseName.sh 

添加可執行權限之后先執行一下,看看腳本有沒有錯誤,能不能正常使用;

  1. ./bkDatabaseName.sh 

5、添加計划任務

1)檢測或安裝crontab

執行以下命令看是否安裝有crontab

  1. crontab 

如果錯“command not found”,則表明沒安裝;如果沒安裝,先安裝

CentOS下使用yum命令安裝計划任務程序crontab

使用rpm命令從CentOS系統盤安裝計划任務程序crontab

2)添加計划任務

  1. crontab -e 

輸入以下內容並保存

  1. 1 0 * * * /home/backup/bkDatabaseName.sh 

意思是每天凌晨執行一次bkDatabaseName.sh 腳本

6、測試任務是否執行

執行幾次“ls”命令看下是否有文件創建就知道了。如果任務執行失敗,看以下日志

  1. # tail -f /var/log/cron 

輸出類似如下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM