linux(centos) 下定时任务备份数据 2018-08-04

    如果大家要备份公司的生产环境建议费一番周折,,不建议向我这样备份。。因为我数据量小,无所谓啦。。。


    个人习惯,shell代码写在 /usr/local/sbin 这个目录下面


    假设当前位置是再 /usr/local/sbin  


    我们创建一个备份的shell脚本  


    # vim mysql_backups.sh


    并写入以下内容 


    #! /bin/bash
    mysqldump -uroot -p'pass' tplay > /tmp/mysql_bf/`date +%Y-%m-%d`-tplay.sql


    注意 -uroot 意思是 root用户 ,如果你的用户名叫young 那么就-uyoung就对了。。。  -p后面跟着的是密码,,注意,不要有空格,,,   然后是备份的哪个库,,我这个用的是tplay后台的代码,,也用着人家的库所以我的数据库就叫 tplay  备份成什么样子呢?


    就是以年月日命名,然后-tplay.sql这样,例如今天是 2018年8月4日 那么备份出来的文件就是后面这种形式: 2018-08-04-tplay.sql

    按道理,可能我们需要删除多长时间以前的数据。这个我就不写了,50G,我mysql用了不到1M,,,这种情况好像就200k+, 我们算1M把。50G,就算被我安装各种东西还剩下40G,1000M是1G 40*1000 = 4万周才能备份把我硬盘塞满。。。。。747年。。那时候我不知道投胎几次了。。。 跑题了具体删除规则大家根据业务去做把。


    上面的shell脚本写完后,我们给他加个权限,,

    chmod +x mysql_backups.sh


    然后crontab下面做个定时来执行

    # crontab -e 

    加入以下内容

    0 0 * * 0  sh /usr/local/sbin/mysql_backups.sh

    退出编辑


    就是周日的 0点0分来执行这个shell脚本。。。


    crontab前面几个的意思是  分 时 月 年 周

    这样我们得出,我们的脚本是 0分0时 *月 * 年 的周日来执行的。。。   


    OK,crontab定时备份数据的教程就到这里。。。如果要更给力的定时建议用python,,,对了,swoole也有毫秒级定时器。。后话后话。。。