mysql备份脚本

mysql备份脚本

#function:MYSQL自动全备
#version:1.0.0
#author:ans
#date:2022/01/13
#-----------------------------------------------------------------------------------------------
#!/bin/sh
#创建目录
#MAIN=`cd / && mkdir -p mysql_bak`
#MAIN1=`mkdir -p /mysql_bak/all_data`
#LOGS=`mkdir -p /mysql_bak/logs`
#指定参数
DATE=`date +%Y%m%d%H%M%S`
DATE1=`date +%Y%m%d`
DB_user=root
DB_password=***
Host=192.168.122.**
#MySQL全备使用mysqldump命令
start_time=`date +'%Y-%m-%d %H:%M:%S'`
echo "$DATE数据库全备开始......" >> /backup/mysql_bak/test_logs/Full_Bak_$DATE1.log
mysqldump --all-databases --default-character-set=utf8 --flush-logs -u$DB_user -h$Host -p$DB_password > /backup/mysql_bak/test_all_data/Full_Bak_$DATE.sql
if [ $? -eq 0 ]
then
    echo "$DATE数据库备份成功......" >> /backup/mysql_bak/test_logs/Full_Bak_$DATE1.log
    cd /backup/mysql_bak/test_all_data
    /usr/bin/tar -zcvf Full_Bak_$DATE.sql.tar.gz Full_Bak_$DATE.sql > /dev/null
    if [ $? -eq 0 ]
    then
        echo "$DATE数据库备份打包成功......" >> /backup/mysql_bak/test_logs/Full_Bak_$DATE1.log
        cd /backup/mysql_bak/test_all_data
        rm -rf Full_Bak_$DATE.sql
        #/usr/bin/find /backup/mysql_bak/test_all_data -name "Full_Bak_*.*" -mtime +7 -exec rm -rf {} \;
        #/usr/bin/find /backup/mysql_bak/test_logs -name "Full_Bak_*.log" -mtime +7 -exec rm -rf {} \;
    else
        echo "$DATE数据库备份打包失败......" >> /backup/mysql_bak/test_all_data/Full_Bak_$DATE1.log
        exit 0
    fi
else
    echo "$DATE数据库备份失败......" >> /backup/mysql_bak/test_all_data/Full_Bak_$DATE1.log
    cd /backup/mysql_bak/test_all_data
    rm -rf Full_Bak_$DATE.sql
    exit 0

fi
end_time=`date +'%Y-%m-%d %H:%M:%S'`
start_seconds=$(date --date="$start_time" +%s);
end_seconds=$(date --date="$end_time" +%s);
echo "本次备份运行时间: "$((end_seconds-start_seconds))"s" >> /backup/mysql_bak/test_logs/Full_Bak_$DATE1.log

posted @   安生丶  阅读(85)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示