liunx下定时备份mysql数据

今天有个需求,需要每周末凌晨30分定时备份一下数据。

1. 首先先定义好cron表达式

我是再这个网站 http://cron.ciding.cc/

 2. 我的数据库版本是liunx下的mysql5.7版本

创建数据库备目录,脚本和配置文件

1.创建目录

mkdir -p /data/backup/mysql

2.切换到目录下

cd /data/backup

3.用vim命令创建sh脚本文件,没有vim 用vi

vim mysql_backup.sh

4.脚本具体信息

#!/bin/bash
#db_name='activiti' 数据库名 这里我注释了,因为我用-D备份所有库了,
#如果你想备份单个库,把-D换成 $db_name 
backup_dir='/data/backup/mysql/' #备份到哪
current_time=$(date +'%Y-%m-%d_%H%M%S') #获取当前时间
filepath=$backup_dir$current_time'.sql.gz'  #将backup_dir和时间组合起来,再加个后缀
echo '开始导出数据库...'
mysqldump --defaults-extra-file=/data/backup/backup_mysql.cnf  -D | gzip > $filepath
echo '导出成功,文件名为: '$filepath
echo '报错,导出失败!'

5. 再用vi或者vim创建backup_mysql.cnf配置文件

[mysqldump]
#max_allowed_packet = 400M #
host=127.0.0.1
user=这里写用户名
password='这里写密码'
[mysql]
host=127.0.0.1
user=这里用户名
password='这里密码'

6.赋予脚本权限

  chmod 755 mysql_backup.sh

7.启动

     sh mysql_backup.sh

 如果启动的时候报错

 解决方法:原因是因为没有mysqldump

# 查找mysql的安装路径
find / -name mysql -print
# 找到bin目录的 /usr/local/mysql/bin/mysql
# 设置软链接
ln -fs /usr/local/mysql/bin/mysqldump /usr/bin
ln -fs /usr/local/mysql/bin/mysql /usr/bin

8. 查看sql文件

gzip -dc 要查看的gz文件

3.创建定时任务

crontab命令的功能是在一定的时间间隔调度一些命令的执行

  1. 使用crontab创建计划任务
    crontab -e 
    

    2.  每周末凌晨30分定时备份一下数据

30 00 * * 7 /data/backup/mysql_backup.sh # 每周末凌晨30分备份一次数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南大白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值