zoukankan      html  css  js  c++  java
  • Mysql 定时备份操作

    1、创建保存备份文件的路径/mysqldata
      #mkdir /bak/mysqlbak
    2、创建/usr/sbin/bakmysql文件
      #vi /usr/sbin/bakmysql.sh
    3、写入脚本如下脚本   注意,如果是你的mysql密码是带有特殊字符的,比如!@# ,那么需要在 -p参数后面加上‘’,把密码放在‘’中,'123!@#'
    [python] view plaincopyprint?
     
    1. #!/bin/bash  
    2. #Name:bakmysql.sh  
    3. #This is a ShellScript For Auto DB Backup and Delete old Backup  
    4. backupdir=/bak/mysqlbak  
    5. time=` date +%Y%m%d%H `  
    6. mysqldump --opt -h192.168.1.1 -uroot -p123456 dbname | gzip > $backupdir/mo$time.sql.gz  
    7. #  
    8. find $backupdir -name "mo*.sql.gz" -type f -mtime +5 -exec rm {} ; > /dev/null 2>&1  

    脚本解析:
    backupdir 数据库备份路径
    time时间点
    mysqldump :mysql备份工具,--opt -h 远程执行备份操作, 
    dbname:数据库名称,
    gzip:压缩成gzip格式的。
     
    最后一个行是保证5最新个备份文件
     
    4、定时任务
          修改/etc/crontab
         #vi /etc/crontab
        在下面添加
        01 3 * * * root /usr/sbin/bakmysql
     表示每天3点钟执行备份
    5、重新启动crond
      # /etc/rc.d/init.d/crond restart (Redhat)
           #/etc/init.d/cron  restart (Ubuntu)
    完成。
     
    手工恢复:
     
    先解压gz文件
    gunzip  xxx.gz
    mysql -u root -p --default-character-set=utf8
    use dbname
    source /root/xx.sql
    搞定
     
    so esay ,那里不会点那里。
  • 相关阅读:
    版本控制,django缓存,跨域问题解决
    Linux之文件系统结构
    Linux之定时任务
    Linux之LVM
    Linux之硬盘与分区
    Linux之文件重定向与查找
    Linux之文件压缩
    Linux之文件权限
    Linux之用户管理
    Linux之文件管理
  • 原文地址:https://www.cnblogs.com/lixiuran/p/4222823.html
Copyright © 2011-2022 走看看