備份mysql數(shù)據(jù)庫的shell腳本

                  領(lǐng)導(dǎo)說每天都需要備份一下mysql,好吧,我總不能天天手動(dòng)去弄,所以我自己寫了一份shell腳本用來自動(dòng)備份,crontab還是很好的呵呵
           1#! /bin/bash
           2#define mysql path
           3MYSQL_BIN_PATH=/local/akazam/servers/akazamdb51/bin #這個(gè)是你MYSQL的安裝目錄
           4MYSQL_BACKUP_PATH=/local/akazam/mysqlbak#你要備份的目錄
           5SOCKET_FILE=/tmp/mysql.sock
           6
           7if [ $# -eq 0 ]
           8    then
           9        echo "ERROR:Usage:please input mysql arguments" 1>&2
          10    echo "The arguments like this" 1>&2
          11    echo "./mysqlbackup.sh database [user] [password] [port] [bakpath]" 1>&2
          12    echo "default user is akazam ,default password is dbacc355 and" 1>&2
          13    echo "default port is 3306,if you all understand ,you can try now!" 1>&2
          14    exit 1
          15fi
          16
          17#get datebase
          18db=$1
          19#get user
          20if [ "$2" = "" ]
          21    then
          22        user="akazam"
          23    else
          24        user=$2
          25fi
          26#get password
          27if [ "$3" = "" ]
          28    then
          29        password="dbacc355"
          30    else
          31        password=$3
          32fi
          33#get port
          34if [ "$4" = "" ]
          35    then
          36        port="3306"
          37    else
          38        port=$4
          39fi
          40#get backpath
          41if [ "$5" = "" ]
          42    then
          43        backpath=$MYSQL_BACKUP_PATH
          44    else
          45        backpath=$5
          46fi
          47#get the day before yesterday
          48byd=$(date --date='1 days ago' "+%Y%m%d")
          49#get today
          50today=$(date +%Y%m%d)
          51#backup today's mysqldump 
          52if [ ! -$MYSQL_BACKUP_PATH ]
          53    then
          54         mkdir $MYSQL_BACKUP_PATH
          55fi
          56cd $MYSQL_BIN_PATH
          57./mysqldump -u$user -p$password -h localhost $db --socket=$SOCKET_FILE --opt>$backpath/$db$today
          58echo "backup result is:$bakresult"
          59#delete the day before's backup
          60rm -rf $backpath/$db$byd
          61
          62echo "you delete backup mydqldump is $db$byd and need backup mysqldump is $db$today"
          63
          64
          用法嘛 按照./mysqlbackup.sh database [user] [password] [port] [bakpath] 這種方式就可以了,還是很方便的


          posted on 2011-03-17 09:33 Cloud kensin 閱讀(249) 評(píng)論(0)  編輯  收藏 所屬分類: Linux數(shù)據(jù)庫

          <2011年3月>
          272812345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(4)

          隨筆分類

          相冊(cè)

          相冊(cè)

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 通州区| 酉阳| 淮南市| 庄河市| 焉耆| 靖州| 龙里县| 潢川县| 丰都县| 卢湾区| 万载县| 钟祥市| 尼玛县| 基隆市| 寻乌县| 浦江县| 云霄县| 宝山区| 海林市| 桃园市| 永德县| 西昌市| 驻马店市| 峡江县| 泰来县| 武川县| 綦江县| 浦江县| 彩票| 奉新县| 山东| 永新县| 白河县| 赣榆县| 海丰县| 淳化县| 石河子市| 顺昌县| 仁化县| 红河县| 临洮县|