zoukankan      html  css  js  c++  java
  • mysql的备份脚本

    mysql的备份脚本

        脚本如下

        #!/bin/sh

        # mysql_backup.sh: backup mysql databases and keep newest 5 days backup.

        #

        # Last updated: 20 March 2006

        # ----------------------------------------------------------------------

        # This is a free shell script under GNU GPL version 2.0 or above

        # Copyright (C) 2006 Sam Tang

        # Feedback/comment/suggestions : http://www.real-blog.com/

        # ----------------------------------------------------------------------

        # your mysql login information

        # db_user is mysql username

        # db_passwd is mysql password

        # db_host is mysql host

        # -----------------------------

        db_user="root"

        db_passwd="password"

        db_host="localhost"

        # the directory for story your backup file.

        backup_dir="/home/mybackup"

        # date format for backup file (dd-mm-yyyy)

        time="$(date +"%d-%m-%Y")"

        # mysql, mysqldump and some other bins path

        MYSQL="/usr/local/mysql/bin/mysql"

        MYSQLDUMP="/usr/local/mysql/bin/mysqldump"

        MKDIR="/bin/mkdir"

        RM="/bin/rm"

        MV="/bin/mv"

        GZIP="/bin/gzip"

        # check the directory for store backup is writeable

        test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0

        # the directory for story the newest backup

        test ! -d "$backup_dir/backup.0/" && $MKDIR "$backup_dir/backup.0/"

        # get all databases

        all_db="$($MYSQL -u $db_user -h $db_host -p$db_passwd -Bse show databases)"

        for db in $all_db

        do

        $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | $GZIP -9 > "$backup_dir/backup.0/$time.$db.gz"

        done

        # delete the oldest backup

        test -d "$backup_dir/backup.5/" && $RM -rf "$backup_dir/backup.5"

        # rotate backup directory

        for int in 4 3 2 1 0

        do

        if(test -d "$backup_dir"/backup."$int")

        then

        next_int=`expr $int + 1`

        $MV "$backup_dir"/backup."$int" "$backup_dir"/backup."$next_int"

        fi

        done

        exit 0;

        注意

        mysql是以mysql用户身份运行的,注意脚本中的备份是否有写权限

  • 相关阅读:
    XML和JSON两种数据交换格式的比较
    Mysql主从安装配置
    mysqldump命令之数据库迁移
    报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost
    Java Map 排序
    Jeff Dean 光辉事迹
    动态创建的link标签不会阻塞其后动态创建的script的加载与执行
    why?
    mongo find-matches value
    mongo find-in,or,and,not
  • 原文地址:https://www.cnblogs.com/liuchuyu/p/7489510.html
Copyright © 2011-2022 走看看