但尽人事
莫问前程...

利用crontab定期备份博客数据库

crontab_2

话说我的博客也是运行在vps主机上的啊,哈哈

几年之前,辛辛苦苦写了很久的博客内容因为一次事故全部没有了,很是痛心,有了那次教训之后,意识到了数据的重要性,以前会定期的手动去数据库把数据导出,累了,写个脚本解决下吧,说到linux系统定时任务,就不得不说crontab啦,太复杂的不说,简简单单备份下数据库还不是分分钟的事情啊哈哈

[url href=http://mahongfei.com/1460.html]crontab介绍[/url]

好了,说正事,其实就是写个备份脚本,然后让这个脚本定期执行就可以了,思路非常简单,当然写起来更是简单哈哈

直接上代码,不罗嗦:

    1. #!/bin/bash
    1. ################################
    1. # 程序名称:mysql_backup.sh
    1. # 程序功能:定期备份mysql数据库
    1. # 参数信息: 
    1. # 创建信息:2018-01-25 by mhf
    1. # 修改信息:
    1. ################################
    1. startTime=`date  +%H:%M:%S`
    1. #设置mysql备份目录
    1. backup_dir=/data/backup
    1. echo $backup_dir
    1. cd $backup_dir
    1. #建立备份日期为名字的文件夹
    1. backup_time=`date +%Y%m%d`
    1. echo $backup_time
    1. rm -rf $backup_time
    1. mkdir $backup_time
    1. cd $backup_time
    1. #数据库服务器配置
    1. host=’localhost’
    1. user=’root’
    1. password=’xxxxxxxxx’
    1. #设置数据保留多少天
    1. days=7
    1. for db in aaa bbb ccc ;do
    1.     #循环数据库进行备份
    1.     mysqldump -h$host -u$user -p$password $db |gzip >${backup_dir}/${backup_time}/${db}.backup.sql.gz
    1. done
    1. cd ..
    1. day=`date -d “$days days ago” +%Y%m%d`
    1. echo $day
    1. rm -rf $day
    1. #结束
    1. endTime=`date  +%H:%M:%S`
    1. sT=`date +%s -d$startTime`
    1. eT=`date +%s -d$endTime`
    1. let useTime=`expr $eT – $sT`
    1. echo “
    1. Run `basename $0` ok !
    1.         startTime = $startTime
    1.           endTime = $endTime
  1.           useTime = $useTime(s)!”

说明:for循环中的aaa,bbb和ccc是数据库的名字,因为我把每个数据库都被封了,所以写在了for循环里面

好了脚本写完了,接下来就是配置定时任务啦,需要配置crontab

假设上述文件位置为/data/backup/mysql_backup.sh

按照以下命令配置crontab

0 3 * * * /data/backup/mysql_backup.sh > /dev/null 2>&1 &

意思每天的半夜3点执行此脚本并且忽略日志输出。

/dev/null 2>&1 & 

作用是忽略日志输出,主要是因为我懒的删除日志,最好是有输出日志,以后出问题了方便查询嘛

编辑完了保存退出即可!

配置完毕之后,通过命令

crontab -l

查看crontab的配置情况。

可以看到编写的脚本已经在定时任务列表里面了。

over

赞(0) 打赏
未经允许不得转载:马洪飞博客 » 利用crontab定期备份博客数据库
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

但尽人事,莫问前程

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏