Heim >Datenbank >MySQL-Tutorial >mysql自动备份脚本_MySQL

mysql自动备份脚本_MySQL

WBOY
WBOYOriginal
2016-05-30 17:10:031254Durchsuche

#!/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[34m数据库备份已经完成....\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 

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn