MySql-自動備份 (資料必須要學會的招式)

MySql 自動備份
最近一直在煩惱要怎麼樣DB可以自動備份文章,又不用花錢的方式
因為小弟本身對DB這一塊原本就不是很熟
但有幸在網路上找到一些方法可以簡單可以自動備份,複製幾天份的db
在這邊分享給大家一下

1.MySql -先寫一份Shell

#!/bin/bash
#mysql 備份腳本
#保留最近10天备份
#备份目录
backupDir=/home/username/db_dump
#mysqlDump
#mysqldump=/Applications/XAMPP/bin/mysqldump
#ip
host=127.0.0.1
#用户名
username=root
password=password
#今天日期
today=`date +%Y%m%d`
#十天前的日期
timeTenDayAgo=`date -d -10day +%Y%m%d`
#要备份的数据库数组
databases=(wpdatabase)
# echo $databaseCount
for database in ${databases[@]}
  do
    echo '开始备份'$database
    mysqldump -h$host -u$username -p$password $database | gzip > $backupDir/$database-$today.sql.gz
    echo '成功备份'$database'到'$backupDir/$database-$today.sql.gz
    if [ ! -f "$backupDir/$database-$timeTenDayAgo.sql.gz" ]; then
      echo '10天前备份不存在,无需删除'
    else
        rm -f $backupDir/$database-$timeTenDayAgo.sql.gz
        echo '删除10天前备份文件'$backupDir/$database-$timeTenDayAgo.sql.gz
    fi
  done

2.MySql -之後在crontab -e 裡面做設定

##syerqu
#MAILTO=""
30 3 * * * /home/username/db_dump/sql_dump.sh

成功的話就會像我這樣
MySql我是拿我部落格的db做示範 XD
操作上有問題歡迎詢問喔~

Facebook Comments

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *