今天学习Linux环境下怎么定时自动备份Mysql数据库。
1.查看磁盘挂载信息(选一个容量合适的)
df -h
这里我选择的根目录 /
2.创建备份文件夹和脚本
mkdir backup
vi backupdn.sh (命名随意)
3.编辑脚本信息
添加如下两行
#!/bin/bash
/usr/bin/mysqldump -uroot -p123456 dn > /root/backup/dn_$(date +%Y%m%d_%H%M%S).sql
#!/bin/bash
/usr/bin/mysqldump -uroot -p123456 dn | gzip > /root/backup/dn_$(date +%Y%m%d_%H%M%S).sql.gz
/usr/bin/mysqldump 这一段要写mysql的绝对路径
root 是用户名
123456 是密码
dn 是数据库名
/root/backup 是backup文件夹的绝对路径
如何查看mysql安装路径:whereis mysql
4.添加可执行权限,然后手动执行一次脚本
chmod u+x backupdn.sh
./backupdn.sh
执行完毕后查看备份好的sql文件和压缩文件
我这里已经备份成功。
5.设置定时任务
执行命令:crontab -e
设置cron表达式(我设置的是每天2点执行此脚本)
0 2 * * * /root/backup/backupdn.sh
设置完成保存退出。
要是想立马看执行效果,可以把cron表达式设置成1分钟执行一次 */1 * * * *
(附上在线生成cron表达式的连接:http://cron.qqe2.com/)
执行命令:# tail -f /var/log/cron.log 查看运行日志