备份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 阅读(222) 评论(0)  编辑  收藏 所属分类: Linux数据库


只有注册用户登录后才能发表评论。


网站导航:
 
<2011年3月>
272812345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(4)

随笔分类

相册

相册

搜索

最新评论