zoukankan      html  css  js  c++  java
  • Linux下使用crontab对MYSQL进行备份以及定时清

     

    数据备份是一个项目必需的工作,保证数据库出问题时,将损失减小到最低。本文记录下linux服务器中使用脚本对MYSQL数据备份,并且定时清除7天前的备份。

    crontab定时备份

    1、创建备份目录

    # root 用户,创建备份目录

    mkdir -p /bak/mysqlbak

    cd /bak/mysqldata

    2、编写运行脚本

    vi  /usr/sbin/bakmysql.sh

    脚本代码:

    #!/bin/bash

    # Name:bakmysql.sh

    # This is a ShellScript For Auto DB Backup and Delete old Backup

    #

    backupdir=/bak/mysqlbak

    time=` date +%Y%m%d%H `

    /usr/local/mysql/bin/mysqldump -h rm***aliyuncs.com -u root -p***  huishi | gzip > $backupdir/huishi$time.sql.gz

    #

    find $backupdir -name "huishi*.sql.gz" -type f -mtime +7 -exec rm {} ; > /dev/null 2>&1

     

    #说明:

      1)此处的/usr/local/mysql/bin/mysqldump命令所在的绝对路径  

      2-h 主机地址 对于本地数据库默认是localhost,远程的数据库服务器,则填写具体地址

      3最后一句表示删除文件更改时间距现在7天以前的数据备份文件

    3、为脚本添加执行权限

    # chmod +x /usr/sbin/bakmysql.sh

    4、设置crontab定时执行

    vi /etc/crontab

    #在最后一行中加入:  

    00 3 * * * root /usr/sbin/bakmysql.sh

    #表示每天300分执行备份

    #如果是每五分钟执行一次可改为:*/5 * * * * root /usr/sbin/bakmysql.sh

    注:crontab配置文件格式如下:

    分 时 日 月 周  命令

     

     

    5、重启crontab

    service crond restart

     

    6、验证查看

    在定时执行的命令完成后,可点击目录查看是否有有文件正确生成

    cd  /bak/mysqlbak

    ls  -a

     

    --------------------------------------补充分割线---------------------------------------------

    1)若要添加定时执行php命令的任务,可以采用sudo crontab -e

    2)然后用sudo  crontab  -l  来查看定时任务列表

  • 相关阅读:
    用Instant client批量安装Oracle客户端安装配置
    Oracle case when 用法(转)
    C# 读写ini文件 【转】
    oracle数据库删除数据Delete语句和Truncate语句的对比
    C#使用instantclient连接 Oracle 10g (转)
    SQL Server CONVERT() 函数
    c#格式化数字(转)
    InstantClient安装使用 (转)
    C# 四个字节十六进制数和单精度浮点数之间的相互转化
    oracle case when的使用方法
  • 原文地址:https://www.cnblogs.com/hld123/p/7412639.html
Copyright © 2011-2022 走看看