关于testlink及批处理的一些事

上一篇 / 下一篇  2009-09-09 16:34:00 / 个人分类:测试管理

   昨天公司的网络需要调试新设备,至此网络断了2小时左右,可是当网络恢复后,奇怪的事,居然Testlink无法打开了。奇怪了,用自己的机器尝试无法访问后,直接远程登录到服务器,服务器本机居然也无法打开。testlink服务器的权限只有我和配置经理才有,应该没有人可以去修改config啊。这个不恢复工作可没法继续了啊。尝试了好几次,修改了N次apache下的httpd文件和testlink下的配置,依然无效,开始以为端口换了,没变啊,在查netstats,也显示80端口被正常listen。奇怪啊。尝试了很多办法任然不行,急啊。
U/}#jt*A0   然后在google上搜,看到一个类似的问题。当中只提及Testlink整合Bugzilla。突然想到,是不是因为这个问题,因为Bugzilla的服务器部署在另一台上,目前该服务器断开中。一切就明白了,原来整合bugzilla后,每次启动testlink会查找相关的数据库,当查找bugzilla服务,但它去无效时,testlink自动不停尝试,导致最后无法打开,知道问题后就简单了,把配置文件中和bugzilla的整合暂时断开。51Testing软件测试网0U0UD9makN
   ok,Testlink就可以访问了,只是那个虫虫暂时出不来了。
u h5kk9W J"`0
7X"^1[v0VC0
/Fr/wX/Qu0   出了这次状况后,头要求实现Testlink的数据库能定时备份,以防不测。51Testing软件测试网k)J5`;gF'E
   方法很简单,自己写了个BAT,文件。就实现了。但是第一次写的时候没考虑按备份的日期自动命名,这样每次备份新的自动覆盖原先的。为了避免这个问题,我重新写了个,可老是不成。要么说路径不存在,要么就是备份的文件名为".sql",没有了前面的名字。搜索google依然没有答案,只好找了个专业的批处理论坛,询问下来,才知道原来是个小小的”空格“引起的问题:51Testing软件测试网K])X4RA.dR%M9F
   我原先的脚本为:
DG&_C1A/L0
*X3k.c g3g._R9y-j0   set yyyy = %date:~10,4%
3N.C$q r"Z~R0NH"M0   set mm = %date:~7,2%
;\ f$S#uM-b/KqeNH0   set dd = %date:~4,2%
9vY$v*FA-n m+j051Testing软件测试网#a;Ac&`!jF%Y
   set shijian = %yyyy%%mm%%dd%
bp up|-L051Testing软件测试网ER~G m(f"W
  "C:\Program Files\MySQL\MySQL Server 6.0\bin\mysqldump" --user=root --password=qaadmin testlink > C:\TestLink_Backup\%shijian%.sql
ZD-F-jy.Al0   备份的结果是,备份成功,但是名字却是".sql",没有把我要的时间设置成文件名
u:mN.h1W"L6yNMnb4q0
F/jt|C!}*yC0   正确的脚本为:
;A N+O$_w g4y0
9c]H0ZC7q o ?:}0   set yyyy=%date:~10,4%51Testing软件测试网.seO%J o3e&\
   set mm=%date:~7,2%51Testing软件测试网/T;gzw tV{U
   set dd=%date:~4,2%51Testing软件测试网U _ \^X"z+@&]9E

h [$W&Iys YM/W8\0   set shijian=%yyyy%%mm%%dd%51Testing软件测试网&vF8t0z%_

yn*V"r4oK#P_0  "C:\Program Files\MySQL\MySQL Server 6.0\bin\mysqldump" --user=root --password=qaadmin testlink > C:\TestLink_Backup\%shijian%.sql
6G"H c+eJ \T,\051Testing软件测试网iP3bE.^8q5@
51Testing软件测试网9Z,uM Fy/T
   解释如下:
g5ipo:w&h0b0
W7X+BW2P#N*z0    set FileName[空格]=[空格]%date:~4,10%-%time:~0,8%TestLink.sql
#m*@gz |I&gH{I0    set yyyy[空格]=[空格]%date:~10,4%51Testing软件测试网8C]w(Q%m&B!w]`g7W
    set mm[空格]=[空格]%date:~7,2%51Testing软件测试网eJa%jkD.F U+m
    set dd[空格]=[空格]%date:~4,2%51Testing软件测试网Y ?%zDCn#z
    set shijian[空格]=[空格]%yyyy%%mm%%dd%51Testing软件测试网|VUVD

&MZ&e]4o/o4J]0   等号左边有空格 变量名是"*[空格]",右边有空格 变量值是"[空格]*"
6_R(pq#oz,T/k%~0
n$yKs`'m{`'{7o*kk!`0   正因为这些空格,你后面用的变量都是空变量;即使不是空的,变量值含有空格,后面引用含空格的路径时没有加引号,一样会出错.
;d$cd,h9D+OtG0   看来JAVA里的书写习惯不能带到批处理里来啊,呵呵
"g$M*Y c,VMf051Testing软件测试网%f*p-jt%pGTo/L6@

Q"U5\.H;oxp6Mi0    呵呵,问题解决后,把它加到计划任务里,一切就OK了。51Testing软件测试网|3J ] B&`J

}7v,\%q3j^E1}6J0     特此记录下。51Testing软件测试网4?9y6l\2Z

u#}0L}#yj gsT8T0

TAG: 批处理 备份Mysql 自动

 

评分:0

我来说两句

Open Toolbar