mysql自動備份指令碼

來源:互聯網
上載者:User

標籤:

#!/bin/bash

#auto backup mysql shell

#by csy 2015-11-11

#自動備份資料庫、並新增工作計劃指令碼

#定義變數===============

BAK_CMD=/usr/bin/mysqldump

BAK_HOST=localhost

BAK_DB=csy

BAK_USER=root

BAK_PASS="123456"

BAK_DIR=/tmp/mysqlbackup/

BAK_DATE=`date +%F`

 

#環境測試..........

if [ $UID -ne 0 ];then

        echo -e "\033[32m必須使用ROOT使用者才能執行此指令碼.\033[0m"

        exit

fi

 

if [ ! -d $BAK_DIR ];then

        mkdir -p $BAK_DIR

        echo -e "\033[35m $BAK_DIR 這個目錄建立成功!!!\033[1m"

else

        echo -e "\033[35m$BAK_DIR 這個目錄已經存在...\033[0m"

fi

 

#正式備份.....

$BAK_CMD -h$BAK_HOST -u$BAK_USER -p$BAK_PASS -d $BAK_DB > $BAK_DIR/csy_$BAK_DATE.sql

if [ $? -eq 0 ];then

echo -e "\033[34mDatabase Backup已經完成....\033[1m"

echo "備份目錄:$BAK_DIR"

else

echo -e "\033[34m資料備份出錯,請檢查....\033[0m"

fi

 

#自動刪除30天以前的備份資料

find $BAK_DIR/ -mtime +30 |xargs rm -rf {} \;

if [ $? -eq 0 ];then

echo -e "\033[37m刪除30天以前的備份資料完成...\033[1m"

else

echo -e "\033[37m命令執行出錯或找不到目錄,請檢查\033[0m"

fi

 

#建立自動備份計劃任務

grep "back_mysql" /var/spool/cron/root >> /dev/null

if [ $? -ne 0 ];then

echo "30 20 * * 5  /root/shell/back_mysql > /tmp/mysql.log 2>&1" >> /var/spool/cron/root

fi

mysql自動備份指令碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.