• 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用户身份运行的,注意脚本中的备份是否有写权限

  • 相关阅读:
    教你用笔记本充当无线路由,wifi上网了!!!
    SQL重复记录查询
    ==、object.Equals()、object.ReferenceEquals()
    SeriesChartType
    容易被忽视的装箱问题
    [转]Anonymous type and implicit type
    as、is、GetType()
    [转]dataGridView控件DateTime列插入DateTimePicker
    .NET(C#):理解值类型/引用类型,装箱/拆箱,Object类
    通过其轴标签沿 X 轴对齐不同系列中的数据点
  • 原文地址:https://www.cnblogs.com/liuchuyu/p/7489510.html
Copyright © 2020-2023  润新知