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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了