zoukankan      html  css  js  c++  java
  • Centos7 mysqldump定时任务,对mysql定时备份数据

    vi mysqldump_bak.sh

    #!/bin/bash   

    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin   

    export PATH      

    export LANG=en_US.UTF-8

    time="$(date +"%Y%m%d%H%M%S")"

    savedir=/cloud/backup/mysql/$time

    mkdir -p "$savedir"

    cd "$savedir"

    /usr/bin/mysqldump -h 127.0.0.1 -uroot -p123456 paas_portal  > paas_portal_"$time".sql

    /usr/bin/mysqldump -h 127.0.0.1 -uroot -p123456 paas_permission > paas_permission_"$time".sql

    /usr/bin/mysqldump -h 127.0.0.1 -uroot -p123456 paas_bpm > paas_bpm_"$time".sql

    /usr/bin/mysqldump -h 127.0.0.1 -uroot -p123456 paas_message_center > paas_message_center_"$time".sql

    示例如下(需要在my.cnf下添加  [mysqldump]  user password)

     

    添加脚本 vi /data/app/mysqldump/mysqldump_bak.sh

    #!/bin/sh

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

    # back path

    backupdir=/data/databackup

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

    #MYSQL_PWD=$(admindev123$%^) && mysqldump  -u root -p$(admindev123$%^) cmccepidemic | gzip > $backupdir/cmccepidemic$time.sql.gz

    mysqldump cmccepidemic | gzip > $backupdir/cmccepidemic$time.sql.gz

    #keep leave 7 days

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

    docker中的mysql备份

    Vi back.sh  (编写备份shell脚本)

    #!/bin/bash

    rm -f /data/epidemic-data-$(date -d -5day +%Y%m%d-*).sql

    DATE=`date +%Y%m%d-%H%M`

    BACK_DATA=epidemic-data-${DATE}

    # mysql-db 是数据库的 docker 名称, xxxpwd root 用户密码, app-db 是要备份的数据名称

    docker exec -i mysql  mysqldump epidemic -uroot -padmindev123$%^  > /data/${BACK_DATA}.sql

    修改

    /etc/crontab

    SHELL=/bin/bash

    PATH=/sbin:/bin:/usr/sbin:/usr/bin

    MAILTO=root

    # For details see man 4 crontabs

    # Example of job definition:

    # .---------------- minute (0 - 59)

    # |  .------------- hour (0 - 23)

    # |  |  .---------- day of month (1 - 31)

    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

    # |  |  |  |  |

    # *  *  *  *  * user-name  command to be executed

    #添加如下

      20 3  *  *  * root   sh  /data/app/mysqldump/mysqldump_bak.sh

    也可以将多个数据库写成数据 ,如 db = (“paas_portal” “paas_permission” “paas_message_center”)

    进行备份,对备份进行压缩

    /usr/bin/mysqldump -h 127.0.0.1 -uroot -p123456 paas_message_center |gzip > paas_message_center_"$time".sql

    导入备份的文件gz压缩文件导入mysql数据库(不需要解压)

    gunzip < ./dmdb-20180601.sql.gz | mysql -uroot -p123456 databaseName

    纵有白头俱老意,奈何缘浅路芊芊.
  • 相关阅读:
    Scala依赖注入
    Scala实现树形结构
    Spark GraphX快速入门
    mysql服务自启【Linux】
    Centos7安装mysql5.6
    Scala路径依赖【内部类】
    spark查看DF的partition数目及每个partition中的数据量【集群模式】
    Python自定义异常及抛出异常
    Spark应用【根据新df更新旧df】
    Linux安装JDK
  • 原文地址:https://www.cnblogs.com/hanby/p/14172091.html
Copyright © 2011-2022 走看看