解放你的双手,ubuntu定时自动备份MySQL数据库,亲测有效

yumo66610个月前 (03-29)技术文章94

1、新建一个文件夹存放备份的数据文件,根据个人需要放在合适的位置

mkdir /home/cms_mysqlbackup

2、创建脚本文件,我放在home文件夹了,命名为autobackup.sh

cd /home
vim cmsdatabase_backup.sh

比如你的数据库用户名为cmsuser ,数据库密码为123456,要备份的数据库名为cmsdb,备份的数据库文件放在 /home/MySQL_backup/,为了区分备份日期,对备份的文件按备份时间命名,因此用了下面的第二行代码实现。文件内容如下

#!/bin/bash  
date_str=$(date +%Y%m%d-%T)  
cd /home/ubuntu/data_backup
mysqldump -h localhost -u cmsuser  --password=123456 -R -E -e \cmsdb> /home/MySQL_backup/mysql_$date_str.sql

编辑完成后保存退出

3、对脚本文件赋予运行权限

chmod +x cmsdatabase_backup.sh

4、可以在脚本所在文件夹下进行检验是否成功备份,命令如下

cd home
./cmsdatabase_backup.sh

看看是否成功生成了数据库sql文件


5、设置定时任务(两种方法语句内容不同)
方法1

 sudo vim /etc/crontab

添加 10 15 * * * root bash
/home/cmsdatabase_backup.sh

中间用空格分开,意思是 每天15:30分执行cmsdatabase_backup.sh脚本。
添加 */2 15 * * * root bash
/home/cmsdatabase_backup.sh

中间用空格分开,意思是 每2分钟执行cmsdatabase_backup.sh脚本。

10  15   *   *   *   root bash  /home/cmsdatabase_backup.sh
分  时   天  月  周

方法2

crontab -e



选择3
添加 10 15 * * * bash
/home/cmsdatabase_backup.sh

中间用空格分开,意思是 每天15:30分执行cmsdatabase_backup.sh脚本。
添加 */2 15 * * * bash
/home/cmsdatabase_backup.sh

中间用空格分开,意思是 每2分钟执行cmsdatabase_backup.sh脚本。


crontab 参数释义:

======================

注:crontab中的每一行代表一个定期执行的任务。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:

分钟 0 - 59        天 1 - 31  
小时 0 - 23        月 1 - 12
星期 0 - 6 0表示星期天
 
* (星号) 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
,(逗号) 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
/(斜线) 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 */2 代表每隔两小时。所以 */1 和 * 没有区别

注意:使用方法1时,语句里有root,使用方法2时,语句内没root。切记区分,否则命令错误无法执行

6、重启服务

/etc/init.d/cron restart


完工。

相关文章

MySQL进行整库数据备份「表(结构+数据)、视图、函数、事件」

  前言  通常情况下,我们需要改什么地方就备份什么地方就可以了,但也免不了需要整库备份的时候,本文记录实现MySQL使用脚本进行整库数据备份【表(结构+数据)、视图、函数、事件】  主要是使用mys...

mysql自动备份,并zabbix检测备份文件是否正常,备份文件大小

推荐mongodb自动备份,并zabbix检测备份文件是否正常CentOS 7.9服务器,一分钟部署完mysql8.0Ubuntu22部署MySQL8.0二进制安装快速部署mysql主从,zabbix...

数据库备份工具——mysqldump详解

mysqldump 是 MySQL 提供的一个备份工具,用于创建数据库的逻辑备份。备份生成的是 SQL 脚本文件,该文件包含重建数据库所需的 SQL 语句。以下是 mysqldump 的详细用法:基本...

MySQL无需API开发连接维格表,实现订单数据自动汇总到表单

MySQL用户使用场景:电商商家会将所有的订单信息存储到MySQL数据库中,同时还需同步到维格表进行汇总,便于企业人员查询及负责人查看某一时间段的数据,但一张订单常包含流水号、车号、货品名称,发/收货...