Linux下Mysql數據庫備份


SQL_CMD="/www/server/mysql/bin/mysqldump"
SQL_HOST="IP"
SQL_USR="root"
SQL_PWD="密碼"
SQL_DB="數據庫名稱"
SQL_DIR="/www/backup/database/`date +%y%m%d`"

#判斷是否為root用戶
if [ $UID -ne 0 ];then
    echo "only use root to exec."
    exit 
fi

#判斷該路徑是否存在,不存在就創建一個
if [ ! -d $SQL_DIR ];then
    mkdir -p $SQL_DIR
fi

#備份數據庫
$SQL_CMD -h$SQL_HOST -u$SQL_USR -p$SQL_PWD $SQL_DB >$SQL_DIR/$SQL_DB.sql

#判斷是否備份成功,成功打印出來路徑
if [ $? -eq 0 ];then
    echo "Backup mysql already successful."
    echo "Backup path:$SQL_DIR"
else
    echo "Backup mysql failed."
fi

#刪除30天以前的備份文件
cd $SQL_DIR/../ ; find . -mtime +30 -exec rm -rf {} \;
echo "Done"

#把腳本加到crontab任務計划里
grep "mysql" /var/spool/cron/root >> /dev/null

if [ $? -ne 0 ];then
    echo "0 0 * * * /bin/bash /root/shell/mysql.sh > /tmp/mysql.log 2>&1" >>/var/spool/cron/root
    /etc/init.d/crond restart
fi

 


免責聲明!

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



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