基于Linux定时任务实现的MySQL周期性备份

基于Linux定时任务实现的MySQL周期性备份

1、创建备份目录

sudo mkdir -p  /var/backups/mysql/database_name

2、创建备份脚本

sudo touch /var/backups/mysql/mysqldump.sh

# 用VIM编辑脚本文件,写入备份命令
sudo vim /var/backups/mysql/mysqldump.sh

# 内如如下
#!/bin/bash
mysqldump -uroot --single-transaction -pmypassword database_name > /var/backups/mysql/database_name/database_name-$(date +%Y%m%d_%H%M%S).sql

# 设置当前用户可执行权限
sudo chmod 711 /var/backups/mysql/mysqldump.sh

tips:

关于脚本mysqldump的一个路径问题,如果mysql bin目录在path当中,就直接使用mysqldump即可,如果不在要么配置环境变量指向mysql的bin目录,要么就用全路径/usr/local/mysql/bin/mysqldump

也可以添加软连接到/usr/bin下

sudo ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump

3、加入定时任务

# 执行 crontab -e
sudo crontab -e

# 添加以下内容,每天凌晨2点执行一次备份脚本
0 2 * * * /var/backups/mysql/mysqldump.sh

本博客采用 知识共享署名-禁止演绎 4.0 国际许可协议 进行许可

本文标题:基于Linux定时任务实现的MySQL周期性备份

本文地址:https://dev-tang.com/post/2021/09/mysql-dump.html

推荐阅读