Linux下使用crontab实现mysql数据库自动备份

创建备份目录

选择/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

本文由 有花不见叶 原创发布于光阴小栈,未经许可,禁止转载。

共有 2 条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据