zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    【校招面试 之 C/C++】第23题 C++ STL(五)之Set
    Cannot create an instance of OLE DB provider “OraOLEDB.Oracle” for linked server "xxxxxxx".
    Redhat Linux安装JDK 1.7
    ORA-10635: Invalid segment or tablespace type
    Symantec Backup Exec 2012 Agent for Linux 卸载
    Symantec Backup Exec 2012 Agent For Linux安装
    You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1
    YourSQLDba介绍
    PL/SQL重新编译包无反应
    MS SQL 监控数据/日志文件增长
  • 原文地址:https://www.cnblogs.com/cyl048/p/11250409.html
Copyright © 2011-2022 走看看