子嘉的博客 子嘉的博客
首页
bic-bic
技术
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

高子嘉

没有比脚更长的路,没有比人更高的山
首页
bic-bic
技术
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 技术文档

  • GitHub技巧

  • 博客搭建

  • 服务端

  • distributed

  • golang

  • db

    • mysql

      • mysql
      • password
      • dead_lock
      • mariadb password
      • script
      • dump
    • mongodb

    • redis
  • docker

  • linux

  • 技术
  • db
  • mysql
子嘉
2024-01-17

dump

该备份脚本使用gpt生成,不得不感叹gpt的强大;普通工人+gpt简直能媲美专家了

#!/bin/bash

# 设置数据库登录信息和备份文件存储路径
DB_USER="root"
DB_PASS="my_pwd"
DB_NAME="database_name"
BACKUP_DIR="/var/backups/database"

# 创建备份文件存储目录(如果不存在)
if [ ! -d "$BACKUP_DIR" ];
then
    mkdir -p "$BACKUP_DIR"
fi

# 备份数据库到目标路径
TIMESTAMP=$(date +%F-%H%M%S)
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-backup-$TIMESTAMP.sql"
mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_FILE"

# 删除旧备份文件(仅保留最近的10个备份)
find "$BACKUP_DIR" -name "$DB_NAME-backup-*.sql" -type f -mtime +10 -delete

# obs 上传备份文件到
/root/download/obsutil_linux_amd64_5.5.12/obsutil cp /var/backups/database/${DB_NAME}-backup-$TIMESTAMP.sql obs://dongua/backup/mariaDB_family/

# obs 删除旧备份文件(仅保留最近的10个备份)
DEL_FILES=`find /var/backups/database -name "$DB_NAME-backup-*.sql" -type f -mtime +10`
for f in $DEL_FILES; do
    DEL_FILE_NAME=${f:22:100}
    /root/download/obsutil_linux_amd64_5.5.12/obsutil rm obs://ziga/backup/mariaDB_family/${DEL_FILE_NAME} -f
done

# 打印备份完成信息
echo "Database backup completed: $BACKUP_FILE"


curl 'https://oapi.dingtalk.com/robot/send?access_token=ca46xxxxx' \
     -H 'Content-Type: application/json' \
      -d '{"msgtype": "text","text": {"content":"【通知】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
编辑 (opens new window)
上次更新: 2024/01/17, 10:57:24
script
mongodb

← script mongodb→

最近更新
01
mongodb restore
03-06
02
pytesseract
02-28
03
consul
02-24
更多文章>
Theme by Vdoing | Copyright © 2022-2025 子嘉 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式