写了一个Mysql备份的脚本,大家看看,有什么不妥地方。
这是我写的第一个Shell脚本,大家帮忙看看,
有谁需要的,我可以发给他。
可以将这个脚本放进crontab,每天凌晨执行一次,自动备份
这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >;>; $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >;>; $LogFile
echo "--------------------------" >;>; $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >;>; $LogFile 2>;&1
echo "[$OldFile]Delete Old File Success!" >;>; $LogFile
else
echo "[$OldFile]No Old Backup File!" >;>; $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can't Backup!" >;>; $LogFile
else
case $BackupMethod in
mysqldump)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser --opt $DBName >; $DumpFile
else
mysqldump -u $DBUser -p$DBPasswd --opt $DBName >; $DumpFile
fi
tar czvf $NewFile $DumpFile >;>; $LogFile 2>;&1
echo "[$NewFile]Backup Success!" >;>; $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhotcopy -u $DBUser $DBName $DumpFile >;>; $LogFile 2>;&1
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >;>;$LogFile 2>;&1
fi
tar czvf $NewFile $DumpFile >;>; $LogFile 2>;&1
echo "[$NewFile]Backup Success!" >;>; $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >;/dev/null 2>;&1
tar czvf $NewFile $DBPath$DBName >;>; $LogFile 2>;&1
/etc/init.d/mysqld start >;/dev/null 2>;&1
echo "[$NewFile]Backup Success!" >;>; $LogFile
;;
esac
fi
echo "-------------------------------------------" >;>; $LogFile
aspbiz 回复于:2004-10-05 20:05:38
大家看看呀,
一个自动备份的脚本,支持多种备份方式,自动翻转。
odin_free 回复于:2004-10-08 09:55:54
不错不错 比我的以前对付的好多了
以前也有不少写这个脚本的 加精
maowei 回复于:2004-10-08 14:40:22
引用:原帖由 "aspbiz"] 发表:
我需要。谢谢! maow@glsc.com.cn
ssnake 回复于:2004-10-08 15:35:32
我需要...tao_jh@citiz.net, thankx!!
netocool 回复于:2004-10-09 00:50:48
支持
谢谢
dillon100@21cn.com
CyrixIII 回复于:2004-10-09 01:48:06
给我发一份吧
正好我在找这样的脚本呢
bandt 回复于:2004-10-09 08:43:58
楼主的这个咚咚真好,辛苦了 !
greennet 回复于:2004-10-09 09:29:16
楼主,辛苦了
给我一份吧,我找了多时了,哈哈
xjxjun@126.com
phpcool 回复于:2004-10-09 09:49:41
终于找到想要的了.来一份楼主.
ltsnet@bxemail.com
wallace888 回复于:2004-10-09 10:20:36
兄弟给我来一份好吗?wallice_cn@hotmail.com谢谢了
spring2spring 回复于:2004-10-09 10:21:23
终于找到想要的了.来一份楼主.
shouchun_w@163.com
shouchun_w@126.com
iotigod 回复于:2004-10-09 11:10:39
请给我一份,谢谢igodsbackup@163.com
kanzone 回复于:2004-10-09 22:48:07
请给我一份
kan@3key.net
aspbiz 回复于:2004-10-09 23:04:33
几天没来,这么多兄弟要,
我发给大家吧。
aspbiz 回复于:2004-10-09 23:07:23
比较多人,不好一个一个发,
我上传到这里,
不过,文件后缀是.jpg,大家另存为后,改过名来就可以了。
DBBackup.jpg
ni 回复于:2004-10-10 17:12:52
好的script,会有很多人拿去用。特别好的代码,不仅CU的朋友在用,国内外的朋友也都会在用。这个时候,代码固然得写得好,也不要被别人在一些细枝末节的地方笑话。代码中间有一些字符串用来书写Log,请不要随便写写,尽量避免语法上的错误,要么就干脆写中文更好些。多花一点时间,让代码更完美一点。
yuxiang116 回复于:2004-10-10 22:07:26
请给我来份!
shenyong@keynic.com
谢谢! :em02:
aspbiz 回复于:2004-10-10 23:26:13
大家自己下载,一个一个发可能有点麻烦。
simonlm 回复于:2004-10-13 09:53:26
下不了呀
caidao 回复于:2004-10-14 00:19:09
在此感谢
debian@126.com
panafrio 回复于:2004-10-15 09:53:14
請給我 rolito@lungfung.net
aspbiz 回复于:2004-10-15 11:34:11
以上的都发了。
yzcdf 回复于:2004-10-18 16:06:34
楼主,您好!小的是新手,我想问一下,我的mysql是装在SQL SERVER 2000系统上,能用如上代码吗?我应该如何实现数据库的自动备份呢?谢谢~~~
aspbiz 回复于:2004-10-18 17:57:27
还有Mysql装在Sql server上的呀??
真是厉害。
你肯定搞错概念了。
hancher 回复于:2004-10-19 13:13:44
goodgoodstudy();
daydayup();
哥们太搞笑了吧!!
应该是:
studay hard and progress everyday !
freelin18 回复于:2004-10-19 15:12:13
我也要一份,谢
freelin18@126.com
iboys 回复于:2004-10-20 15:07:49
今天才看到,能不能给我发一份?先谢谢了!…
chenhao5188@163.com
raullpq 回复于:2004-10-20 15:41:58
麻烦给我一份,多谢
linux.lu@tom.com
hehongtai 回复于:2004-10-21 09:13:12
麻烦给我一份,谢谢 hehongtai@vip.sina.com
zxw_xuewei 回复于:2004-10-22 09:53:28
zxw_xuewei@yahoo.com.cn
blues1205 回复于:2004-10-22 14:29:08
yanwu_liu@tom.com
谢谢楼主了,你贴的那个东东真的下不了呀。
cooljia 回复于:2004-10-26 12:15:59
这帮家伙太偷懒,怎么就不能下了那?
右键点->;属性->;copy url->;paste in IE
看到了么?
thinpig 回复于:2004-10-26 22:25:46
我需要。谢谢! kevin2sa@gmail.com
bapala 回复于:2004-10-27 00:22:42
chaosyude@126.com
PLS give me the copy
mengjia 回复于:2004-10-28 16:01:37
偶也要一份,谢谢楼主!!!
hhlmy@163.com
kkk_ssa 回复于:2004-10-30 07:44:21
kkk_ssa@163.com
俺也要,谢谢您!
bst 回复于:2004-10-30 10:54:07
可以下载的,不要那么懒吗.. 楼主不是已经上传上去了吗..
不会下载的 cooljia兄也已经告诉你们方法了...呵呵 :) :)
shadow8424 回复于:2004-11-01 10:40:35
我也要一份!
wind8424@sina.com
多谢了!
aspbiz 回复于:2004-11-01 17:28:23
下载地址:
http://bbs.chinaunix.net/forum/uploadfile/dbbackup.jpg
cbwcbj 回复于:2004-11-10 13:22:47
请给我一份,谢谢michael@doer.cn
bigbighd604 回复于:2004-11-13 11:26:42
我也想要,给我一份吧,谢谢了
bigbighd604@163.com
hscsq 回复于:2004-11-16 15:48:17
hs.csq@163.com
klark 回复于:2004-11-20 15:21:59
多谢 houjue18@sina.com
qtview 回复于:2004-11-23 01:01:42
搂主的想法是好的,但实现稍复杂了点,直接cp数据库文件就行了,干嘛每天去折磨数据库一次。如果害怕备份文件太大,打下包就ok啦。
程序处理有大量(就说2G以上吧)记录的数据库的时候,得出的备份文件还原也成了难事。
歪把梨 回复于:2004-11-25 11:15:34
:em02: 谢谢
yukunzcn 回复于:2004-11-30 13:19:07
老兄,我也需要,也送给俺一份吧!谢了先!
Red_Crow 回复于:2004-11-30 13:32:50
楼主辛苦了
cbrooks 回复于:2004-12-04 14:26:02
我也要一个呀
chenb882@nenu.edu.cn
先谢谢了
mango2008 回复于:2004-12-05 22:08:05
:shock: good!!!
mbgmbg 回复于:2004-12-09 09:13:33
请问linux下的脚本是放到什么地方的,怎么才能运行起来呢
水若寒 回复于:2004-12-10 00:16:41
引用:原帖由 "qtview" 发表: 搂主的想法是好的,但实现稍复杂了点,直接cp数据库文件就行了,干嘛每天去折磨数据库一次。如果害怕备份文件太大,打下包就ok啦。
程序处理有大量(就说2G以上吧)记录的数据库的时候,得出的备份文件还原也成了难事..........
对,我也是这样想的!!
wing-qiang 回复于:2004-12-21 15:27:43
我也要一个!xeon@21cn.net
stevenhxm 回复于:2004-12-23 09:45:43
楼主,也给我发一份吧,stevenhxm@163.com
3X!
moonnight 回复于:2004-12-27 11:01:03
引用:原帖由 "aspbiz"] 发表:
楼主,我也想要一份,webmaster@moonnight.org
谢谢!!
jiaxirui 回复于:2005-01-02 15:26:24
楼主,辛苦了
给我一份吧,谢谢。
taowjyan 回复于:2005-01-04 12:01:23
taonjyan@yahoo.com.cn
wolfstar 回复于:2005-01-07 09:45:50
也给我一份吧,太谢谢了。
big_wolfstar@yahoo.com.cn
daliwa 回复于:2005-01-11 11:04:04
虽然偶不用mysql,
谢谢
yzcdf 回复于:2005-01-11 16:43:16
代码已得到!谢谢楼主!
但我的mysql是装在win 2000 server上的,经常做些cgi的程序,
不知道如何让这些代码发挥作用,
还请楼主指教如何使用!十分谢谢!
levinzhang 回复于:2005-01-14 11:40:28
现在我也在做MYSQL 方面的事情。有空可以多交流请教一下。
saneryee 回复于:2005-01-19 09:37:56
急需急需
楼主还提供么?谢谢先。
saneryee@gmcc.com.cn
xiaohe83 回复于:2005-01-19 09:40:44
不错的说.
njblue2004 回复于:2005-01-19 20:16:01
楼主辛苦
zxr1018 回复于:2005-02-17 13:59:45
我也需要xrzhu@tom.com
剑心通明 回复于:2005-02-22 19:29:28
谁有啊?给我一份,多谢!wuming122@eyou.com
kimc13 回复于:2005-03-17 10:53:28
grand~
厲害厲害~~多謝大大
bowbow.rain 回复于:2005-03-21 12:57:29
超级需要呀!发给我!谢谢
blueaut 回复于:2005-03-31 16:26:27
楼主不是都把代码贴了出来了吗?为什么大家都还叫楼主发到自己邮箱的??万二分不解?????
jamesbang2003 回复于:2005-08-25 13:35:22
wangdbang@hotmail.com,谢谢得非常!
tassel 回复于:2005-08-30 11:48:17
顶!楼主,我也需要一份.mail:51100222@sina.com
windychan 回复于:2005-08-30 18:45:10
也给我一份吧.windy.chan@163.com
haoyufu 回复于:2005-08-30 19:39:54
兄弟也给我发一份吧
我那个脚本写的比较简单
haoyufu@163.com
多谢
edenCC 回复于:2005-09-14 19:43:23
楼上的人真够懒,寡人实在是佩服!!
脚本就在那里,你拷过来不就行了
ipaddr 回复于:2005-09-14 20:33:16
是呀,自己拷过来就行了.
tomsxu7926 回复于:2005-09-15 08:45:33
你好,楼主,辛苦、辛苦!也给我来一份!
tomsxu7926@sina.com
dbl2 回复于:2005-09-28 09:22:23
dbl2@tom.com
谢谢了。
bst 回复于:2005-09-28 11:19:07
献给那些没时间自己去找的"懒人":
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz@163.com
#2004-09
#Setting
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >;>; $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >;>; $LogFile
echo "--------------------------" >;>; $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >;>; $LogFile 2>;&1
echo "[$OldFile]Delete Old File Success!" >;>; $LogFile
else
echo "[$OldFile]No Old Backup File!" >;>; $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can't Backup!" >;>; $LogFile
else
case $BackupMethod in
mysqldump)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser --opt $DBName >; $DumpFile
else
mysqldump -u $DBUser -p$DBPasswd --opt $DBName >; $DumpFile
fi
tar czvf $NewFile $DumpFile >;>; $LogFile 2>;&1
echo "[$NewFile]Backup Success!" >;>; $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhotcopy -u $DBUser $DBName $DumpFile >;>; $LogFile 2>;&1
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >;>;$LogFile 2>;&1
fi
tar czvf $NewFile $DumpFile >;>; $LogFile 2>;&1
echo "[$NewFile]Backup Success!" >;>; $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >;/dev/null 2>;&1
tar czvf $NewFile $DBPath$DBName >;>; $LogFile 2>;&1
/etc/init.d/mysqld start >;/dev/null 2>;&1
echo "[$NewFile]Backup Success!" >;>; $LogFile
;;
esac
fi
echo "-------------------------------------------" >;>; $LogFile
leiting 回复于:2005-11-28 11:16:40
给我一份好吗?cz_leiting@126.com
syjn_ye 回复于:2005-12-01 21:27:48
小弟正在找这个东东,[email]granty@mfun.com.cn[/email]给我发一份吧!谢谢!
limitdd 回复于:2005-12-01 22:24:59
给我也发一个吧,[email]icemanw@sina.com[/email]
itbbs 回复于:2005-12-09 10:18:11
谢谢,给我来一个。[email]downreg@gmail.com[/email]
bugkill 回复于:2005-12-24 15:07:01
给俺也发一份吧谢谢
[email]haoyufu@163.com[/email]
ipaddr 回复于:2005-12-26 22:18:39
兄弟们,自己找找,
楼主不可能再给你们发了吧。
也提供了下载。
直接google.com
mysql 备份 aspbiz
就能搜到的。
phoenixatsh 回复于:2005-12-31 15:27:02
谢谢,我也想要 [email]phoenixatsh@gmail.com[/email]
macrodba 回复于:2005-12-31 17:16:58
bu cuo good
重来 回复于:2006-01-17 13:58:09
不错,正需要!谢谢!
zengqh 回复于:2006-01-17 17:47:47
迟来的人,能要一份吗?
weizhen_2000 回复于:2006-02-23 10:23:37
楼主来一份,谢谢,[email]weizhen_2000@163.com[/email]
fanstone169 回复于:2006-04-04 17:27:57
奇怪的是,为什么我备份出来的只有45k大小?
xxjoyjn 回复于:2006-04-04 17:45:49
我也想要也,[email]xuxianjin@guoxinad.com.cn[/email]
gaoxin 回复于:2006-04-05 15:00:42
要........................
[email]david.star.scorpio@163.com[/email]
楼上大哥.缘分那!!!!
rardge 回复于:2006-04-05 15:45:16
奇怪,你们要什么啊?脚本不是已经贴出来了么?
sickcat2004 回复于:2006-04-25 09:32:00
引用:原帖由 aspbiz 于 2004-10-4 01:00 发表
写了一个Mysql备份的脚本,大家看看,有什么不妥地方。
这是我写的第一个Shell脚本,大家帮忙看看,
有谁需要的,我可以发给他。
可以将这个脚本放进crontab,每天凌晨执行一次,自动备份
这个脚 ...
syntax error near unexpected token `in
case $BackupMethod in
我执行后出现这个错误,老大们看看阿,我是新手
cxm.cm 回复于:2006-04-26 11:55:04
我也要一个:
[email]dragonchencm@gmail.com[/email]
多谢啦!
linux_admin 回复于:2006-07-17 09:28:21
我碰碰运气,看能不能在给我发一份,现在急需
[email]Lipg@tqidc.cn[/email]
audiotech 回复于:2006-07-17 16:54:56
好东西哦~难得啊
ipaddr 回复于:2006-07-17 21:06:23
网上大把,
搜一下:
mysql 自动备份 aspbiz
就是这个了。
北京野狼 回复于:2006-07-18 17:38:57
这个帖子充分体现了,搞IT的。。。。。。。。。。。。
服了
yanweihao 回复于:2006-07-19 01:47:07
DBName=mysql
如果备份多个库 应该怎么写呢 哥们!
windlike 回复于:2006-07-20 10:10:15
楼主发的备份脚本的确很好, 我以后要好好学一下. 不过我用win2000系统, 不在shell界面备份.
我是这样备份数据库的: 编写一个简单的批处理程序, 每天早上早上执行这个文件.
文件名: db_backup.bat
代码如下:
mysqldump --opt -u root -pxxx google > backup/google.sql
mysqldump --opt -u root -pxxx yahoo > backup/yahoo.sql
mysqldump --opt -u root -pxxx msn > backup/msn.sql
备份前提:
把db_backup.bat文件拷到mysql/bin目录下.
备份方法:
开始->运行->cmd
cd c:\
cd mysql/bin
db_backup.bat
我只是一个初学者, 不知道这里面有没有错误, 请大家帮忙指点.
[ 本帖最后由 windlike 于 2006-7-20 10:13 编辑 ]
zhanghome 回复于:2006-07-20 16:42:47
如果能加上错误后重备的功能就更好了^_^
xiaochong 回复于:2006-11-15 17:31:47
给我一份吧,一起分享下。
谢谢。
[email]jiangpo@polytele.com[/email]
lingy 回复于:2006-12-04 11:44:09
innodb的表好像不能备份
Jeff_z 回复于:2006-12-04 23:04:41
Very Cool~~~~
真好,我也想来一份,谢谢楼主
[email]zwj_51321@163.com[/email]
qiubowinter 回复于:2007-01-30 16:27:23
我也非常需要[email]qiubowinter@vip.sohu.net[/email]
滴水见阳光 回复于:2007-02-02 16:33:03
楼主辛苦了,我也在学习中,也想学习一下,给我发一份吧,happiness20052163.com,谢谢
北京野狼 回复于:2007-02-04 19:33:14
如果搞IT的,都是回帖的人。 真是IT的末日。
想看看笨蛋,就来这里
holycn 回复于:2007-02-08 12:03:42
太感谢了,我需要一份;[email]caohq@163.com[/email]
jgcjsw 回复于:2007-02-09 08:00:00
楼主,谢谢,请也给我一份吧,很需要的。
[email]jgcjsw@163.com[/email]
lzjcf 回复于:2007-02-10 14:12:35
我也要
[email]lzj@deangi.com[/email]
zhy1899 回复于:2007-03-08 11:37:02
楼主,能给我一份吗?
[email]zhy1899@163.com[/email]
mdjhaitao 回复于:2007-04-09 09:56:19
楼主能给我一份吗?
[email]mdjhaitao@163.com[/email]
谢谢
colz 回复于:2007-04-11 09:25:19
谢谢楼主 非常有用。给我发一份吧! [email]colz@163.com[/email]
james_yan 回复于:2007-04-12 13:05:27
不错,辛苦了,我也要一份 [email]yan.0045@163.com[/email]
|