有使用Mariadb 数据库的友吗?分享一个正在用的数据库备份脚本

2026-04-11 14:350阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

可以实现每天一个完整备份,每小时一个增量备份。只需要每小时运行一次脚本,会自动检测当天是否已有全量备份。

#!/bin/bash







######### # 备份频率:每天全量备份,每小时增量备份 #





######### base_dir="/root/backup/store" backup_u="mariabackup" backup_p="mariabackup" log_file="/var/log/mariabackup.log" base_date="$(date +'%Y%m%d')" # 忽略的数据库,使用空格隔断 ignoredb="msg" # 日志记录函数 log_message() { echo "$(date +'%Y-%m-%d %H:%M:%S') - $1" >> "$log_file" } # 检查备份目录是否存在,不存在则创建 if [ ! -d "$base_dir/$base_date" ]; then log_message "开始全量备份 $base_date..." today_base="$base_dir/$base_date/full_$(date +'%H%M%S')" mkdir -p "$today_base" if mariabackup -u"$backup_u" -p"$backup_p" --backup --target-dir="$today_base" --databases-exclude="$ignoredb"; then echo "$today_base" >> "$base_dir/$base_date/config.ini" log_message "全量备份成功完成。" else log_message "全量备份失败。
阅读全文
标签:数据库
问题描述:

可以实现每天一个完整备份,每小时一个增量备份。只需要每小时运行一次脚本,会自动检测当天是否已有全量备份。

#!/bin/bash







######### # 备份频率:每天全量备份,每小时增量备份 #





######### base_dir="/root/backup/store" backup_u="mariabackup" backup_p="mariabackup" log_file="/var/log/mariabackup.log" base_date="$(date +'%Y%m%d')" # 忽略的数据库,使用空格隔断 ignoredb="msg" # 日志记录函数 log_message() { echo "$(date +'%Y-%m-%d %H:%M:%S') - $1" >> "$log_file" } # 检查备份目录是否存在,不存在则创建 if [ ! -d "$base_dir/$base_date" ]; then log_message "开始全量备份 $base_date..." today_base="$base_dir/$base_date/full_$(date +'%H%M%S')" mkdir -p "$today_base" if mariabackup -u"$backup_u" -p"$backup_p" --backup --target-dir="$today_base" --databases-exclude="$ignoredb"; then echo "$today_base" >> "$base_dir/$base_date/config.ini" log_message "全量备份成功完成。" else log_message "全量备份失败。
阅读全文
标签:数据库