在CentOS下进行MySQL定时备份,你可以按照以下步骤操作:
- 创建备份目录:
在你希望存储数据库备份的路径下创建一个目录。例如,在/home/momo/mysql
目录下创建一个名为mysql_bak
的子目录。
mkdir /home/momo/mysql/mysql_bak
- 编写备份脚本:
创建一个shell脚本来执行MySQL备份命令。例如,可以在/usr/local/bin
目录下创建一个名为mysql3306_backup.sh
的文件,并将下面的内容写入该文件:
#!/bin/bash
# MySQL服务器登录信息
USER="your_mysql_username"
PASS="your_mysql_password"
DATABASE="your_database_name"
# 备份日期时间戳
DATE=$(date +%Y%m%d%H%M%S)
# 数据库备份文件名和完整路径
BACKUP_FILE="/home/momo/mysql/mysql_bak/${DATABASE}_${DATE}.sql.gz"
# 执行mysqldump命令并压缩备份文件
mysqldump -u${USER} -p${PASS} ${DATABASE} | gzip > ${BACKUP_FILE}
确保替换上面脚本中的 your_mysql_username
、your_mysql_password
和 your_database_name
为实际的MySQL用户名、密码和要备份的数据库名称。
- 赋予脚本执行权限:
使用chmod
命令给你的备份脚本添加可执行权限。
chmod +x /usr/local/bin/mysql3306_backup.sh
- 设置crontab定时任务:
使用crontab -e
命令编辑当前用户的cron定时任务列表,然后在打开的文本编辑器中添加一行来定义何时运行备份脚本。这里是一个示例,表示每天凌晨1点执行一次备份:
0 1 * * * /usr/local/bin/mysql3306_backup.sh
这里的数字代表分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)和星期(0-7,其中0和7都代表周日)。星号 (*
) 表示任意值。
按照你需要的时间间隔修改这行内容,然后保存并关闭编辑器。
- 检查和重启 crond 守护进程:
在某些情况下,可能需要重新启动crond守护进程以确保新配置生效:
systemctl restart crond
现在,你应该已经成功设置了MySQL定时备份。当指定的时间到达时,系统会自动执行备份脚本并将生成的SQL文件存储到预先设定的目录中。