mysql定时备份

原文地址:

http://www.niu12.com/article/1

 

就在前两天,在玩docker的时候,才疏学浅,把服务器的数据库全删了,经过这两天的整理,
个人项目也都恢复正常了,但是数据都没有了。
倒不觉得是件坏事,吃亏还是要趁早吧。这不,赶紧弄了每天数据库备份和阿里云快照,
幸亏是私人的,如果是公司项目的话,可能真的就FF了。

也不是没有学到东西,现在就吧mysql在linux下的定时备份写一下, 也算是对以前不足的知识点进行补充。

首先是要对定时任务的知识补充。

1.定时任务crontab的安装与启动相关
service crond start // 启动服务
service crond stop // 关闭服务
service crond restart // 重启服务
service crond reload // 重新载入配置
service crond status // crontab服务状态

2.crond -e 进入定时任务

crond -l 查看该用户下的crontab服务是否创建成功

查看服务是否已经运行用 ps -ax | grep cron

3.定时任务的格式
crontab 格式:

基本格式 :

分钟   小时   日   月   星期   命令

*   *   *    *   *    *

第1列表示分钟1~59 每分钟用*或者 */1表示 每5分钟用*或者 */5表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

记住几个特殊符号的含义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字 

crontab文件的一些例子:
(1) 30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache

(2)45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache
(3)10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
(4)*/2 * * * * /bin/sh /deleteFile.sh
上面的例子表示每两分钟执行deleteFile.sh这个脚本

4.mysql数据备份
crontab -e
(1)0 0 * * * /usr/bin/sh /usr/local/crontab_script/mysql_blog_backup.sh >> /usr/local/crontab_script/mysql_blog_backup.log

上面的例子表示每天零点通过/usr/bin/sh命令 执行/usr/local/crontab_script/mysql_blog_backup.sh脚本,
并将日志输入到/usr/local/crontab_script/mysql_blog_backup.log日志文件中

(2)/usr/local/crontab_script/mysql_blog_backup.sh脚本文件
# Name:test_database_backup.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#备份地址
backupdir=/applications/data/backup/mysql/blog
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S `
#需要备份的数据库名称
db_name=blog
#mysqldump命令使用绝对路径
/usr/bin/mysqldump $db_name | gzip > $backupdir/$db_name$time.sql.gz
#删除7天之前的备份文件
find $backupdir -name $db_name"*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

(3)在上面的脚本文件中并没有写入数据库用户名和密码,所以需要
vim /etc/my.cnf
[mysqldump]
quick
max_allowed_packet = 16M
#在这里输入user及password,在执行mysqldump命令就不用输入用户名和密码了
user=root
password=123456
(4)执行service crond restart即可

转载于:https://www.cnblogs.com/zhouqi666/p/10138369.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值