• MySQL 数据库定时自动备份


    创建备份目录

    1
    2
    3
    cd /home
    mkdir backup
    cd backup

    创建备份 Shell 脚本:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    vim DatabaseName.sh
     
    #!/bin/bash
    /usr/local/mysql/bin/mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
     
    对备份进行压缩:
     
    #!/bin/bash
    /usr/local/mysql/bin/mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
     
    注意:
    把 username 替换为实际的用户名;
    把 password 替换为实际的密码;
    把 DatabaseName 替换为实际的数据库名;

    添加可执行权限

    1
    chmod u+x DatabaseName.sh

    添加计划任务

    1
    2
    3
    4
    crontab -e
    01   3 * * * root/home/backup/DatabaseName.sh
     
    表示每天 3 点钟执行备份

    Crontab 的格式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    第 1 列分钟 159
    第 2 列小时 1230 表示子夜)
    第 3 列日 131
    第 4 列月 112
    第 5 列星期 060 表示星期天)
    第 6 列要运行的命令
     
    下面是 crontab 的格式:
    分 时 日 月 星期 要运行的命令
     
    这里有 crontab 文件条目的一些例子:
     
    30 21 * * * /usr/local/apache/bin/apachectl restart
    上面的例子表示每晚的 21:30 重启 apache。
     
    45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart
    上面的例子表示每月 11022 日的 4 45 重启 apache。
     
    10 1 * * 6,0 /usr/local/apache/bin/apachectl restart
    上面的例子表示每周六、周日的 1 10 重启 apache。
     
    0,30 18-23 * * * /usr/local/apache/bin/apachectl restart
    上面的例子表示在每天 18 00 至 23 00 之间每隔 30 分钟重启 apache。
     
    0 23 * * 6 /usr/local/apache/bin/apachectl restart
    上面的例子表示每星期六的 11 00 pm 重启 apache。
     
    0 */1 * * * /usr/local/apache/bin/apachectl restart
    每一小时重启 apache
     
    #20160912 修正,感谢 @张琼的指正,之前写错了,*/1 和 * 表示的同样的意思,对于 / 的用法,可以参考另一篇文章 Crontab 中的除号到底怎么用?
     
    0 23-7/1 * * * /usr/local/apache/bin/apachectl restart
    晚上 11 点到早上 7 点之间,每隔一小时重启 apache
     
    0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart
    每月的 4 号与每周一到周三的 11 点重启 apache
     
    0 4 1 jan * /usr/local/apache/bin/apachectl restart
    一月一号的 4 点重启 apache
  • 相关阅读:
    体检前注意事项
    SSO之CAS单点登录详细搭建教程
    如何通过session控制单点登录
    谈谈防止Ajax重复点击提交
    js判断是移动端还是pc端
    HttpClient通过GET和POST获取网页内容
    HttpClient 4.x 执行网站登录并抓取网页的代码
    360每日自动签到,领取积分 (java httpclient4.x)
    Java @override报错的解决方法
    无开发经验,初学python
  • 原文地址:https://www.cnblogs.com/cyl048/p/11250409.html
Copyright © 2020-2023  润新知