mysql备份脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[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 @   beawh  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示