备份mysql数据库的shell脚本

领导说每天都需要备份一下mysql,好吧,我总不能天天手动去弄,所以我自己写了一份shell脚本用来自动备份,crontab还是很好的呵呵!
    #! /bin/bash
    #define mysql path
    MYSQL_BIN_PATH=/local/akazam/servers/akazamdb51/bin #这个是你MYSQL的安装目录
    MYSQL_BACKUP_PATH=/local/akazam/mysqlbak#你要备份的目录
        SOCKET_FILE=/tmp/mysql.sock
    if [ $# -eq 0 ]; then
        echo "ERROR:Usage:please input mysql arguments" 1>&2
        echo "The arguments like this" 1>&2`
        echo "./mysqlbackup.sh database [user][password] [port][bakpath]" 1>&2
        echo "default user is akazam ,default password is dbacc355 and" 1>&2
        echo "default port is 3306,if you all understand ,you can try now!" 1>&2
        exit 1
    fi

    #get datebase
    db=$1
    #get user
    if [ "$2" = "" ]
    then
    user="akazam"
    else
    user=$2
    fi
    #get password
    if [ "$3" = "" ]
        then
            password="dbacc355"
        else
            password=$3
    fi
    #get port
    if [ "$4" = "" ]
        then
            port="3306"
        else
            port=$4
    fi
    #get backpath
    if [ "$5" = "" ]
        then
            backpath=$MYSQL_BACKUP_PATH
        else
            backpath=$5
    fi
    #get the day before yesterday
    byd=$(date --date='1 days ago' "+%Y%m%d")
    #get today
    today=$(date +%Y%m%d)
    #backup today's mysqldump
    if [ ! -d $MYSQL_BACKUP_PATH ]
        then
            mkdir $MYSQL_BACKUP_PATH
    fi
    cd $MYSQL_BIN_PATH
    ./mysqldump -u$user -p$password -h localhost $db --socket=$SOCKET_FILE --opt>$backpath/$db$today
    echo "backup result is:$bakresult"
    #delete the day before's backup
    rm -rf $backpath/$db$byd
    echo "you delete backup mydqldump is $db$byd and need backup mysqldump is $db$today"

    ```