CentOS Linux中MySQL自動備份及FTP遠程備份

安裝環境:CentOS 6,MySQL5.5

一、背景

    近期,公司爲加強數據庫的數據安全,對數據庫進行自動備份,本篇將在Linux下使用crontab自動備份並FTP上傳數據庫。

二、實施腳本

創建腳本dbbackup.sh

#!/bin/bash
DATE=`date +%Y%m%d%H%M`
DATABASE=****                     #備份數據庫
DB_USER=****                      #備份用戶名
DB_PASS="*******"                 #備份用戶名的密碼
BACKUP=********                   #備份路徑      
/usr/local/mysql/bin/mysqldump -u$DB_USER -p$DB_PASS -h 127.0.0.1 -R --opt $DATABASE |gzip > ${BACKUP}\/${DATABASE}_${DATE}.sql.gz        #備份及壓縮
sleep 3

find $BACKUP -mtime +7 |xargs rm -rf             #刪除7天以上的備份文件
sleep 3

ftp -vn<<EOF 
open *.*.*.26 21                              #打開ftp服務器,21爲ftp服務器端口
user username password                        #ftp用戶名及密碼
binary                                        #二進制上傳
cd backup                                     #切換ftp目錄
lcd $BACKUP                                   #切換本地目錄
prompt                                        #控制是否使用交互模式,使用關閉此功能
mput ${DATABASE}_${DATE}.sql.gz               #上傳備份文件
close
bye
EOF

增加可執行權限

chmod +x dbbackup.sh

加入crontab計劃任務,每天凌晨3點自動執行。

crontab -e
     0 3 * * *  /root/dbbackup.sh >/dev/null 2>&1

不足:因ftp上傳中加入刪除7天以上備份測試失敗,所以未加入腳本中。且腳本中部分設置未使用變量,沒實現郵件通知備份成功與否,後續將陸續改進。下篇將介紹SQL Server備份並FTP上傳小軟件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章