備份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 閱讀(243) 評論(0)  編輯  收藏 所屬分類: Linux數據庫

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

          導航

          統計

          常用鏈接

          留言簿(4)

          隨筆分類

          相冊

          相冊

          搜索

          最新評論

          主站蜘蛛池模板: 苏尼特右旗| 内黄县| 南汇区| 松滋市| 北海市| 嘉鱼县| 大姚县| 黄石市| 灵丘县| 东明县| 桂林市| 策勒县| 海伦市| 宝兴县| 酒泉市| 东丽区| 奈曼旗| 玉田县| 丰镇市| 呼玛县| 泰安市| 婺源县| 泰州市| 沁水县| 观塘区| 四川省| 石狮市| 博客| 台江县| 永修县| 双江| 甘洛县| 江陵县| 天祝| 邛崃市| 本溪市| 黄冈市| 定州市| 黄梅县| 个旧市| 赤峰市|