【有关mysql定时备份脚本文件】

工作中有的客户要求,数据库必须有备份机制,这里总结了一些通用系统的备份文件,可以在windos、mac、Linux环境下运行
bash
#!/bin/bash

# 配置
MYSQL_USER='root'
MYSQL_PASS='123456' 
MYSQL_HOST='localhost'
MYSQL_PORT='3306'
MYSQL_DB='mydatabase'

# 检查系统类型
OS=$(uname -s)

# 定义备份目录
if [ "$OS" == "Windows_NT" ]; then
  BACKUP_PATH='C:\mysql_backups'

elif [ "$OS" == "Darwin" ]; then
  BACKUP_PATH='/Users/username/mysql_backups'  

else
  BACKUP_PATH='/var/backups/mysql'
fi

# 创建备份目录
if [ ! -d "$BACKUP_PATH" ]; then
  mkdir -p "$BACKUP_PATH"
fi

# 定义备份函数
backup() {
  DAY=$(date +%F)
  FILENAME=$MYSQL_DB-$DAY.sql

  echo "Starting backup of $MYSQL_DB..."  

  if [ "$OS" == "Windows_NT" ]; then
    mysqldump -u$MYSQL_USER -p$MYSQL_PASS -h$MYSQL_HOST -P$MYSQL_PORT $MYSQL_DB > $BACKUP_PATH/$FILENAME

  elif [ "$OS" == "Darwin" ]; then
    mysqldump -u$MYSQL_USER -p$MYSQL_PASS -h$MYSQL_HOST -P$MYSQL_PORT $MYSQL_DB > $BACKUP_PATH/$FILENAME

  else
    mysqldump -u$MYSQL_USER -p$MYSQL_PASS -h$MYSQL_HOST -P$MYSQL_PORT $MYSQL_DB > $BACKUP_PATH/$FILENAME
  fi

  echo "Backup of $MYSQL_DB completed! Backup file: $BACKUP_PATH/$FILENAME"
}

# 定时执行备份函数 
while :
do
  backup
  sleep 24h 
done
对于不同的系统,执行这个 MySQL 备份脚本的方法是:
- Windows:
  - 将脚本代码保存在例如 backup.bat 文件中
  - 在包含 backup.bat 的目录下,双击执行或者在命令行中运行 backup.bat
- Mac:
  - 将脚本代码保存在例如 backup.sh 文件中
  - 打开终端,切换到 backup.sh 文件所在目录
  - 执行命令:sh backup.sh
- Linux:
  - 将脚本代码保存在例如 backup.sh 文件中
  - 打开终端,切换到 backup.sh 文件所在目录
  - 赋予执行权限:chmod +x backup.sh
  - 执行:./backup.sh

你可能感兴趣的:(mysql,数据库,linux)