linux定时备份mysql数据库

1、查看磁盘空间情况

[root@localhost backup]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G  2.7G   15G   16% 
/devtmpfs                 476M     0  476M    0% /devtmpfs                    488M     0  488M    0% 
/dev/shmtmpfs                    488M  7.7M  480M    2% 
/runtmpfs                    488M     0  488M    0% 
/sys/fs/cgroup/dev/sda1               1014M  130M  885M   13% /boottmpfs                     98M     0   98M    0% /run/user/0[root@localhost backup]# 

选择合适磁盘存放备份文件

2、创建备份目录

cd /homemkdir backupcd backup

3、创建备份Shell脚本

在创建的目录下创建备份脚本(vi bkDatabaseName.sh

#!/bin/bash
mysqldump -uroot(账号) -proot(密码) db(数据库) > /data/backup/db(数据库)_$(date +%Y%m%d_%H%M%S).sql
mysqldump -uroot(账号) -proot(密码)  db(数据库)  | gzip > /data/backup/db(数据库)_$(date +%Y%m%d_%H%M%S).sql.gz

注:

bkDatabaseName.sh 替换成有意义的名称即可

sql备份与gz备份可以二选一,也可全备份

用户名密码需要替换

4、添加可执行权限

chmod u+x bkDatabaseName.sh

测试文件是否可正常执行(./bkDatabaseName.sh)

注:(1)如果报错 mysqldump: 未找到命令,执行

ln -fs /usr/local/mysql/bin/mysqldump /usr/bin (/usr/local/mysql 路径为mysql安装路径)

(2)如果有警告(Warning: Using a password on the command line interface can be insecure.) 可以忽略。

(3)查看备份sql文件是否正常,能否正常导入数据库

5、添加计划任务

确认crontab是否安装:

执行 crontab 命令如果报 command not found,就表明没有安装

执行命令:

crontab -e

输入以下内容并保存:

*/* * 1 * * /data/backup/bkDatabaseName.sh

/* * 1 * * / 几个* 分别代表 分钟 小时 日期 月 星期几 执行备份操作

例如:每分钟执行备份 /1 * * * * / (已测试)

       每天凌晨3点15执行备份/15 3 * * * /    (已测试)

6、停止备份操作

在不需要定时备份的时候,执行该操作,正常流程到第五步就完成了 ~

crontab -r

注:及时清理已过期很久的sql备份,防止磁盘占满

7、查看定时任务

crontab -l

crontab [-u username] [-l|-e|-r]

参数:

-u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度;

-e: 编辑crontab 的工作内容;

-l: 查阅crontab的工作内容;

-r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值