有使用Mariadb 数据库的友吗?分享一个正在用的数据库备份脚本
- 内容介绍
- 文章标签
- 相关推荐
可以实现每天一个完整备份,每小时一个增量备份。只需要每小时运行一次脚本,会自动检测当天是否已有全量备份。
#!/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 "全量备份失败。

