標籤:備份 mysql ftp
安裝環境:CentOS 6,MySQL5.5
一、背景
近期,公司為加強資料庫的資料安全,對資料庫進行自動備份,本篇將在Linux下使用crontab自動備份並FTP上傳資料庫。
二、實施指令碼
建立指令碼dbbackup.sh
#!/bin/bashDATE=`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 3find $BACKUP -mtime +7 |xargs rm -rf #刪除7天以上的備份檔案sleep 3ftp -vn<<EOF open *.*.*.26 21 #開啟ftp伺服器,21為ftp伺服器連接埠user username password #ftp使用者名稱及密碼binary #二進位上傳cd backup #切換ftp目錄lcd $BACKUP #切換本地目錄prompt #控制是否使用互動模式,使用關閉此功能mput ${DATABASE}_${DATE}.sql.gz #上傳備份檔案closebyeEOF
增加可執行許可權
chmod +x dbbackup.sh
加入crontab計劃任務,每天淩晨3點自動執行。
crontab -e 0 3 * * * /root/dbbackup.sh >/dev/null 2>&1
不足:因ftp上傳中加入刪除7天以上備份測試失敗,所以未加入指令碼中。且指令碼中部分設定未使用變數,沒實現郵件通知備份成功與否,後續將陸續改進。下篇將介紹SQL Server備份並FTP上傳小軟體。
本文出自 “Frank” 部落格,請務必保留此出處http://zhoufan.blog.51cto.com/4278592/1790389
CentOS Linux中MySQL自動備份及FTP遠程備份