mysql备份脚本

[root@localhost mysql_backup]# cat /data/mysql_backup.sh 
#!/bin/bash
mysql_user="root"
mysql_password="G2022rdy"
mysql_host="180.33.22.51"
mysql_port="3306"
mysql_charset="utf8mb4"
 
# 备份文件存放地址(根据实际情况填写)
backup_location=/data/mysql_backup
 
# 是否删除过期数据
expire_backup_delete="OFF"
# 过期时间设置
expire_days=15
backup_time=`date +%Y%m%d%H%M`
backup_dir=$backup_location
welcome_msg="Welcome to use MySQL backup tools!"
 
# 判断mysql实例是否正常运行
mysql_ps=`ps -ef |grep mysql |wc -l`
mysql_listen=`netstat -an |grep LISTEN |grep $mysql_port|wc -l`
if [ [$mysql_ps == 0] -o [$mysql_listen == 0] ]; then
        echo "ERROR:MySQL is not running! backup stop!"
        exit
else
        echo $welcome_msg
fi
 
# 备份指定数据库中数据(此处假设数据库是mysql_backup_test)
mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password  --single-transaction --master-data=2 --default-character-set=utf8mb4   --databases  ruoyi_vue_blog_new    > $backup_dir/ruoyi_vue_blog_new-$backup_time.sql
flag=`echo $?`
if [ $flag == "0" ];then
        echo "database   success backup to $backup_dir"
else
        echo "database   backup fail!"
fi
 
# 删除过期数据
if [ "$expire_backup_delete" == "ON" -a  "$backup_location" != "" ];then
        `find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf`
        echo "Expired backup data delete complete!"
fi

  

posted @ 2024-02-06 16:56  beawh  阅读(9)  评论(0编辑  收藏  举报