備份mysql數據庫的shell腳本

                  領導說每天都需要備份一下mysql,好吧,我總不能天天手動去弄,所以我自己寫了一份shell腳本用來自動備份,crontab還是很好的呵呵
           1#! /bin/bash
           2#define mysql path
           3MYSQL_BIN_PATH=/local/akazam/servers/akazamdb51/bin #這個是你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 閱讀(239) 評論(0)  編輯  收藏 所屬分類: Linux 、數據庫

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

          導航

          統計

          常用鏈接

          留言簿(4)

          隨筆分類

          相冊

          相冊

          搜索

          最新評論

          主站蜘蛛池模板: 遵义县| 鄂州市| 阳信县| 三亚市| 哈巴河县| 准格尔旗| 铜川市| 忻州市| 连南| 拜城县| 穆棱市| 固安县| 温州市| 乌拉特前旗| 凤城市| 垦利县| 和龙市| 江华| 泰宁县| 乌鲁木齐县| 措美县| 盐边县| 济阳县| 故城县| 牟定县| 喀喇沁旗| 宣恩县| 凤翔县| 台南市| 温州市| 吉安县| 南皮县| 苏州市| 佛山市| 澜沧| 大方县| 横山县| 共和县| 旬阳县| 灵川县| 泰和县|