基于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