关于testlink及批处理的一些事

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

   昨天公司的网络需要调试新设备,至此网络断了2小时左右,可是当网络恢复后,奇怪的事,居然Testlink无法打开了。奇怪了,用自己的机器尝试无法访问后,直接远程登录到服务器,服务器本机居然也无法打开。testlink服务器的权限只有我和配置经理才有,应该没有人可以去修改config啊。这个不恢复工作可没法继续了啊。尝试了好几次,修改了N次apache下的httpd文件和testlink下的配置,依然无效,开始以为端口换了,没变啊,在查netstats,也显示80端口被正常listen。奇怪啊。尝试了很多办法任然不行,急啊。51Testing软件测试网v b&z1oZ%A"U
   然后在google上搜,看到一个类似的问题。当中只提及Testlink整合Bugzilla。突然想到,是不是因为这个问题,因为Bugzilla的服务器部署在另一台上,目前该服务器断开中。一切就明白了,原来整合bugzilla后,每次启动testlink会查找相关的数据库,当查找bugzilla服务,但它去无效时,testlink自动不停尝试,导致最后无法打开,知道问题后就简单了,把配置文件中和bugzilla的整合暂时断开。51Testing软件测试网X(Eo'VV2E j9h H"|J
   ok,Testlink就可以访问了,只是那个虫虫暂时出不来了。
O5WYwB4j051Testing软件测试网.J lH?.g`W8[ sk6SO

"g N!z%jLy0   出了这次状况后,头要求实现Testlink的数据库能定时备份,以防不测。51Testing软件测试网\,U1E7c&f_0s
   方法很简单,自己写了个BAT,文件。就实现了。但是第一次写的时候没考虑按备份的日期自动命名,这样每次备份新的自动覆盖原先的。为了避免这个问题,我重新写了个,可老是不成。要么说路径不存在,要么就是备份的文件名为".sql",没有了前面的名字。搜索google依然没有答案,只好找了个专业的批处理论坛,询问下来,才知道原来是个小小的”空格“引起的问题:
&K(X[ Q%u [0   我原先的脚本为:
"J!Ofr Q0r*cK.y?051Testing软件测试网/[ _mL Ap(mMj6Ml
   set yyyy = %date:~10,4%
#N;wmtb:y;l;o0   set mm = %date:~7,2%51Testing软件测试网Elu"xm V;AH
   set dd = %date:~4,2%51Testing软件测试网l3RH Y AS
51Testing软件测试网&p| x5V M-}(R
   set shijian = %yyyy%%mm%%dd%51Testing软件测试网0dv r9S*M3a#yi*s
51Testing软件测试网E$q-Ym.C^V8m!{O0W
  "C:\Program Files\MySQL\MySQL Server 6.0\bin\mysqldump" --user=root --password=qaadmin testlink > C:\TestLink_Backup\%shijian%.sql51Testing软件测试网 RYqQ#a-@)_D
   备份的结果是,备份成功,但是名字却是".sql",没有把我要的时间设置成文件名51Testing软件测试网7kC[wn s
51Testing软件测试网+T)iC1AhFk#[;YuD BU4N
   正确的脚本为:51Testing软件测试网5P~ _]"| VM"?tP4}/M+R

@RiV5^;J` \0   set yyyy=%date:~10,4%51Testing软件测试网*Hc#K6AF
   set mm=%date:~7,2%
;~"K O V`0   set dd=%date:~4,2%
;e9r1O&R1D3pxKy y051Testing软件测试网8\U0E$TN1CD"X(p
   set shijian=%yyyy%%mm%%dd%
/~;c%jBo.U0
C$[ NGDrn0  "C:\Program Files\MySQL\MySQL Server 6.0\bin\mysqldump" --user=root --password=qaadmin testlink > C:\TestLink_Backup\%shijian%.sql
8P MyX$aM0
QX `7N2Ou0
N KN3n&Zkp0   解释如下:
x$ec!]*]%G&@N&K051Testing软件测试网?/|ul V nUo)t
    set FileName[空格]=[空格]%date:~4,10%-%time:~0,8%TestLink.sql51Testing软件测试网'R6F6mxl!auz{c
    set yyyy[空格]=[空格]%date:~10,4%
]qD)[*E7G:ULH0zi0    set mm[空格]=[空格]%date:~7,2%
-`)tD'rXok'j&b0    set dd[空格]=[空格]%date:~4,2%51Testing软件测试网1~Gc Lo6q2^t
    set shijian[空格]=[空格]%yyyy%%mm%%dd%51Testing软件测试网Z*B @7i&@3T/Q

1U m:IjP"l~)] r0   等号左边有空格 变量名是"*[空格]",右边有空格 变量值是"[空格]*"51Testing软件测试网5O}?'{_1U

,e9StJ:eA2wH0   正因为这些空格,你后面用的变量都是空变量;即使不是空的,变量值含有空格,后面引用含空格的路径时没有加引号,一样会出错.
~ Ib[l w0   看来JAVA里的书写习惯不能带到批处理里来啊,呵呵51Testing软件测试网/mV`(~R.q f$a

wdnu9^_O!~v051Testing软件测试网2i$ugL'^
    呵呵,问题解决后,把它加到计划任务里,一切就OK了。
+Z j*V+h|c5Bu051Testing软件测试网}6w Y/vR@/`3vB1p
     特此记录下。
1K`"|XrA$y7R`0
m:? y?~G3^0

TAG: 批处理 备份Mysql 自动

 

评分:0

我来说两句

Open Toolbar