要定时每天固定时间将MySQL数据库备份成.sql.gz格式的文件,可以使用Linux上的cron作业和mysqldump命令结合使用。

步骤如下:

  1. 创建备份脚本

    创建一个Shell脚本,例如backup_mysql.sh,并确保该脚本可执行。使用文本编辑器创建并编辑脚本文件,然后添加以下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #!/bin/bash

    # MySQL数据库连接信息
    DB_USER="your_username"
    DB_PASS="your_password"
    DB_NAME="your_database_name"

    # 备份文件的保存路径
    BACKUP_DIR="/path/to/backup/directory"

    # 生成备份文件名(带有时间戳)
    BACKUP_FILE="$BACKUP_DIR/backup_$(date +\%Y\%m\%d\%H\%M\%S).sql.gz"

    # 使用mysqldump命令备份数据库
    mysqldump -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_FILE

    # 删除旧的备份文件(可选)
    # find $BACKUP_DIR -type f -name "backup_*.sql.gz" -mtime +7 -exec rm {} \;

    请替换your_usernameyour_passwordyour_database_name/path/to/backup/directory为您的MySQL数据库凭据和备份文件目录。

  2. 设置执行权限

    通过运行以下命令来为脚本文件赋予执行权限:

    1
    chmod +x backup_mysql.sh
  3. 设置定时任务

    使用cron作业来定时运行备份脚本。运行以下命令编辑cron作业:

    1
    crontab -e

    在打开的编辑器中,添加以下行来定时运行备份脚本(将时间和脚本路径替换为您的偏好):

    1
    0 2 * * * /path/to/backup_mysql.sh

    上述示例表示每天凌晨2点运行备份脚本。您可以根据需要调整时间。

  4. 保存并退出编辑器

现在,cron将在指定的时间每天运行备份脚本,并将MySQL数据库备份成.sql.gz文件保存在指定的目录中。可以根据需要自定义备份的保留策略(如上面脚本中的删除旧备份文件的示例)。请确保脚本中的敏感信息(如用户名和密码)得到妥善保护,以免泄露。