linux下使用crontab如何实现mysql数据库每天自动备份定时备份

时间:2022-11-26 10:27:05

直接上教程,基本上出现的问题都在下面了;


首先检查你的服务器是否安装了crontab,命令如下:

命令: crontab

      如果提示-bash: crontab:commandnotfound; // 表示你没有安装crontab;

点击查看linux下查看软件是否安装的详细教程

安装crontab的两种方法:

1.如果你服务器联网了,可以直接使用下列命令安装(提示他有两个安装包):

命令:yum -y install vixie-cron

命令:yum -y install crontabs

说明:
vixie-cron 软件包是 cron 的主程序;
crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

2.如果你的服务器没有联网,先在网上下载crontab的安装包,有两个;我这里给一个下载地址

点击打开链接安装包1                                 点击打开链接安装包2

下载完成后,把他上传到你服务器home目录下(上传教程自行百度),使用下列命令进行手动安装;

命令:rpm -ivh  softname  

注:softname 为软件包名;记得把两个软件包都安装上;

点击查看详细的linux下各种软件安装的方法

安装完成后把crontab的服务开启,命令如下

命令: service crond start  

命令: service crond status

#上面的命令分别是启动服务命令和查看服务状态命令;

启动服务后,我们将服务加入开机自启,命令如下:

命令: chkconfig crond on

点击查看各种服务开机自启命令

现在到此,我们的准备工作已经做好了;



下面,我们进行创建备份目录,命令如下:

命令: cd  /home

命令: mkdir backup

我们在进入backup目录中编写shell脚本:

命令: vim  bkDatabaseName.sh

把DatabaseName换位自己要备份的数据的名字;

把下列语句输入到shell脚本中:

	#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

然后保存退出就行;

注意把 username 替换为实际的用户名; 
把 password 替换为实际的密码; 
把 DatabaseName 替换为实际的数据库名;

下面我们需要为我们编写的脚本进行添加可以执行的权限的,命令如下:


命令:chmod u+x bkDatabaseName.sh

下面是测试一下脚本是否可以执行,也就是看他在指定的文件夹内备份了文件没有:

命令:./bkDatabaseName.sh

然后我们添加计划任务,这是最后一步了(宝宝写的好辛苦啊,中午饭还没有吃);


命令如下:

命令:crontab -e


//这个是进行计划任务编辑;

然后把下面的内容保存

*/1 * * * * /home/backup/bkDatabaseName.sh

点击查看crontab的详细使用和实例

可以过一分中查看文件夹中的文件是否为预期效果;

如果任务执行失败可以查任务的执行日志


命令:tail -f /var/log/cron


到这里基本就结束了;