Linux下使用crontab实现mysql数据库自动备份
5 票
创建备份目录
选择/home目录,在该目录下创建backup文件夹来存放数据库备份文件;
#cd /home
#mkdir backup
#cd backup
创建备份Shell脚本
创建shell脚本:
#vi bkDatabaseName.sh
输入以下内容:
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
注意:
以上命令中的DatabaseName换为实际的数据库名称;
把 username 替换为数据库实际的用户名;
把 password 替换为数据库实际的密码;
把 DatabaseName 替换为实际的数据库名;
.sh文件必须在linux使用vi或者vim创建,不要使用本机编辑器编辑再上传(原因:windows编辑器进行创建保存的.sh文件的格式为dos格式,而linux只能执行格式为unix格式的脚本);
添加可执行权限:
#chmod u+x bkDatabaseName.sh
测试脚本能否正常执行
添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
#./bkDatabaseName.sh
添加计划任务
检测或安装 crontab
确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装
#crontab
-bash: crontab: command not found
如果没有安装 crontab,需要先安装它,具体安装过程忽略:
执行命令:
#crontab -e
然后对计划任务进行编辑。
输入以下内容并保存:
*/1 * * * * /home/backup/bkDatabaseName.sh
每一分钟执行一次shell脚本“/home/backup/bkDatabaseName.sh”。
或者
0 2 * * * /home/backup/bkDatabaseName.sh
每天凌晨两点执行一次shell脚本
注意:https://tool.lu/crontab/ (在线工具,可以对crontab表达式进行计算)
重启crontab服务
#service crond start
测试任务是否执行
定时器设置的时间结束之后,在backup文件夹下执行“ls”命令,看看备份文件有没有被创建!
如果任务执行失败可以查任务的执行日志
命令:
#tail -f /var/log/cron
本文由 有花不见叶
原创发布于光阴小栈,未经许可,禁止转载。
棒
好好学习