Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql定时备份

作者:你不爱我就滚。   发布日期:2025-05-10   浏览:109

#!/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

解释说明:

  1. 配置信息:设置MySQL的连接参数和备份文件存放路径。
  2. 创建备份目录:确保备份目录存在。
  3. 备份所有数据库:使用mysqldump命令将所有数据库导出到一个SQL文件中。
  4. 压缩备份文件:将生成的SQL文件压缩为.tar.gz格式,以节省空间。
  5. 删除原始SQL文件:删除未压缩的SQL文件,只保留压缩后的文件。
  6. 清理旧备份:删除7天前的备份文件,避免备份文件过多占用磁盘空间。
  7. 设置定时任务:通过crontab设置每天凌晨2点自动执行备份脚本。

请根据实际情况修改脚本中的路径和配置信息。

上一篇:mysql show database

下一篇:mysql ddl

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

python mysql update

mysql 查看权限

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站