linux crontab mysql_linux下应用crontab对mysql数据库进行定时备份

mysql数据库提供了备份命令mysqldump,可以结合crontab命令进行定时备份。

我写了一个mysql_backup.sh的脚本,此脚本按照日期在当前目录下创建一个文件夹,同时在此目录下备份一个文件。内容如下:

#!/bin/bash

#设置mysql备份目录

folder=/home/lx/data_backup

cd $folder

day=`date +%Y%m%d`

rm -rf $day

mkdir $day

cd $day

#数据库服务器,一般为localhost

host=localhost

#用户名

user=root

#密码

password=password

#要备份的数据库

db=guizi_lx

#数据要保留的天数

days=3

mysqldump -h$host -u$user -p$password $db>backup.sql

#如何只是备份单表或者多张表,命令如下:

mysqldump -h$host -u$user -p$password $db 表名1 表名2 表名3 >backup.sql

zip backup.sql.zip backup.sql

rm backup.sql

cd ..

day=`date -d "$days days ago" +%Y%m%d`

rm -rf $day

另外,需要配置crontab。假设上述文件位置为/home/chzhao/bin/mysqlbackup.sh,则按以下命令配置crontab.

crontab -e

出现crontab的配置窗口,默认的编辑器是vim。

输入:

0 16 * * * /home/chzhao/bin/mysqlbackup.sh

表示每天的16点执行此脚本。

配置完毕之后,可以通过命令crontab -l查看crontab的配置情况。

二、数据库的还原

mysql命令还原

1、进入数据库备份好的文件夹

[root@CentOS 20200830]# ls

backup.sql.zip

2、解压出sql文件

[root@CentOS 20200830]# unzip backup.sql.zip

inflating: backup.sql

3、查看解压出的文件:backup.sql是解压出的文件

[root@CentOS 20200830]# ls

4、还原数据库操作,回车以后同样会提示输入登录密码

[root@CentOS 20200830]# mysql -u root -p guizi_lx < backup.sql

Enter password:

[root@CentOS 20200830]#

第二种方式:使用source命令恢复数据库

第一步:进入mysql控制台,切换到我们想恢复数据的数据库,指令如: use 数据库名

第二步:使用source命令恢复,即我们备份时的.sql文件,

指令如:source /home/lzh/bak/test.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值