1、mysqldump 全备脚本
#function:MYSQL自动全备
#version:1.0.0
#author:Kevin
#date:2022/01/27
#-----------------------------------------------------------------------------------------------
#!/bin/sh
#指定参数
DATE=`date +%Y%m%d%H%M%S`
DATE1=`date +%Y%m%d`
DB_user=root
DB_password=xxxxxx
Hostname=xxxx.xxxx.xxxx.xxxx
#MySQL全备使用mysqldump命令
start_time=`date +'%Y-%m-%d %H:%M:%S'`
echo "$DATE数据库全备开始......" >> /backup/mysql_bak/logs/Full_Bak_$DATE1.log
mysqldump --all-databases --default-character-set=utf8 --flush-logs -u$DB_user -h$Hostname -p$DB_password > /backup/mysql_bak/all_data/Full_Bak_$DATE.sql
if [ $? -eq 0 ]
then
echo "$DATE数据库备份成功......" >> /backup/mysql_bak/logs/Full_Bak_$DATE1.log
cd /backup/mysql_bak/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/logs/Full_Bak_$DATE1.log
cd /backup/mysql_bak/all_data
rm -rf Full_Bak_$DATE.sql
/usr/bin/find /backup/mysql_bak/all_data -name "Full_Bak_*.*" -mtime +7 -exec rm -rf {} \;
/usr/bin/find /backup/mysql_bak/logs -name "Full_Bak_*.log" -mtime +7 -exec rm -rf {} \;
else
echo "$DATE数据库备份打包失败......" >> /backup/mysql_bak/all_data/Full_Bak_$DATE1.log
exit 0
fi
else
echo "$DATE数据库备份失败......" >> /backup/mysql_bak/all_data/Full_Bak_$DATE1.log
cd /backup/mysql_bak/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/logs/Full_Bak_$DATE1.log