• linux设置crontab定时执行脚本备份mysql


    前言:mysqldump备份数据库命令

    mysqldump -u root -psztx@2018 fengliuxiaosan > /dbbackup/fengliuxiaosan.sql
    ###mysqldump -u 用户 -p密码 数据库名 > 存放路径/数据库名.sql

    使用命令 crontab -e 然后直接编辑定时脚本。

    这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。

    如:

    [root@localhost ~]# crontab -l
    */1 * * * * /usr/bin/curl http://www.xxx.com/Scheduled/Index
    1 3 * * *   /bin/sh  /dbbackup/backup.sh   ##就是这一条定时任务,

    新建备份目录和创建backup.sh脚本文件,这些命令和目录都可以自定义

    mkdir /dbbackup
    cd /dbbackup/
    vi backup.sh

    下面看这个backup.sh的代码

    #!/bin/bash
    user=root                ##数据库用户名
    passwd=fengliuxiaosan             ###数据库密码
    back_dir="/dbbackup"  ##指定保存备份数据库的目录
    dbname="fengliuxiaosan"        ###指定数据库名
    date=`date +%F`       ##指定命名
    mysqldump -u $user -p$passwd $dbname > $back_dir/$dbname-$date.sql          ###使用mysqldump来执行备份指定数据库
    tar -czvf $back_dir/$dbname-$date.tar.gz  $back_dir/$dbname-$date.sql       ##打包压缩备份的sql文件为.tar.gz格式
    rm -f $back_dir/$dbname-$date.sql                                            ###删除备份的sql文件,因为上面已经压缩了。这个就不需要了
    find $back_dir -mtime +30 -name "*.tar.gz" -exec rm -rf {} ;               ###执行指定时间查找命令,删除时间格式多的压缩包。不然每天压缩一个,磁盘会占满。

     最后别忘了给执行的权限!

    chmod +x backup.sh

     完成,就等时间查看目录的压缩包文件。

  • 相关阅读:
    ubuntu下7z文件的解压
    Ubuntu16 编译源码出错 unsupported reloc 43
    两个超级大整数的相加,相乘
    c++ abcd....等等字符所有不同的非重复组合排布
    C# Java 通用MD5加密
    artDialog-学习课程(三) 参数配置表
    artDialog-学习课程(二)-常用弹出框
    MySQL 查看数据库数据表空间大小
    MySQL Date 函数
    artDialog-学习课程(一)-下载与引用
  • 原文地址:https://www.cnblogs.com/Crazy-Liu/p/10904789.html
Copyright © 2020-2023  润新知