#!/bin/bash
# MySQL定时备份脚本
# 配置信息
MYSQL_USER="your_mysql_user" # MySQL用户名
MYSQL_PASSWORD="your_mysql_password" # MySQL密码
MYSQL_HOST="localhost" # MySQL主机地址
BACKUP_DIR="/path/to/backup/dir" # 备份文件存放目录
DATE=$(date +%F) # 获取当前日期,格式为YYYY-MM-DD
# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR
# 备份所有数据库
mysqldump --all-databases --user=$MYSQL_USER --password=$MYSQL_PASSWORD --host=$MYSQL_HOST > $BACKUP_DIR/all_databases_$DATE.sql
# 压缩备份文件
tar -czf $BACKUP_DIR/all_databases_$DATE.tar.gz -C $BACKUP_DIR all_databases_$DATE.sql
# 删除原始SQL文件以节省空间
rm $BACKUP_DIR/all_databases_$DATE.sql
# 删除7天前的备份文件
find $BACKUP_DIR -type f -name "*.tar.gz" -mtime +7 -exec rm {} \;
# 设置定时任务 (crontab)
# 每天凌晨2点执行备份
# 0 2 * * * /path/to/this/script.sh
mysqldump
命令将所有数据库导出到一个SQL文件中。.tar.gz
格式,以节省空间。crontab
设置每天凌晨2点自动执行备份脚本。请根据实际情况修改脚本中的路径和配置信息。
下一篇:mysql ddl
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站