最近一直痴情于各类营销书籍和忙于看奥运,好久没来运维网。奥运真是百年一遇,能不让人疯狂吗?自因为太疯狂,才搞的我们这帮搞技术的累的人不像人,鬼不像鬼:-) 奥运算是过去一半了,但网监发了那份通知还一直躺在我的电邮里,迟迟不肯删去。网监要求部分IDC在22:00到次日7:00关闭网站及双休日全天关闭网站,不关网站的需要签订责任声明书。
俺们在IDC有好几台服务器,每台服务器(window2003+IIS6)挂有20多个网站,现在部分客户要求24小时开通网站,而部分客户同意上述时间关闭网站。如何是手工操作,那可累死俺们!每天晚上专心看奥运的时候,还担心到点要关网站了,每天早上起的比鸡早,远程登陆开启网站。经过两天的煎熬,终于在google和MVP的交流总结出自动开启和关闭网站的方法!
方法有两种:
方案一:权限控制自动开关网站
需要24小时开通的网站不做处理,把奥运期间晚上需要临时关闭的网站放到一个文件里面
如:D:\website\test.txt
批处理文件如下(停止网站)
@echo off
for /f "usebackq tokens=*" %%a in ("d:\website\test.txt") do (
echo y|cacls "%%a" /d everyone
)
批处理文件如下(开启网站)
@echo off
for /f "usebackq tokens=*" %%a in ("d:\website\test.txt") do (
echo y|cacls "%%a" /g everyone:f
)
由于网站能访问需要erverybody权限,删除erverybody权限能直接导致网站因权限不够而不能访问,
这样就能顺利达到目的,接下来只要把这两个文件加入的计划任务中即可。
方案二:通过IIS自带脚本实现
由于想我们这种ASP/JSP/.NET,什么网站都有,而且放置位置比较凌乱的服务器来着,按第一种方法处理起来比较困难。所以我又找到了一种更简单的方法,用IIS自带的VBS工具adsutil.vbs。
批处理文件如下(停止网站)
C:\Inetpub\AdminScripts\adsutil.vbs STOP_server W3SVC/1237755992
C:\Inetpub\AdminScripts\adsutil.vbs STOP_server W3SVC/1739915248
批处理文件如下(开启网站)
C:\Inetpub\AdminScripts\adsutil.vbs START_server W3SVC/1237755992
C:\Inetpub\AdminScripts\adsutil.vbs START_server W3SVC/1739915248
把上面的批处理加入计划任务即可,W3SVC/后面的数字是网站的标识符。嘿嘿,这多简单啊
不过注意win2003和win2000是有区别的。win2000的方法如下
批处理文件如下(停止网站)
C:\Inetpub\AdminScripts\stopweb.vbs -a 31,32
C:\Inetpub\AdminScripts\stopweb.vbs -a 5,52
批处理文件如下(开启网站)
C:\Inetpub\AdminScripts\startweb.vbs -a 31,32
C:\Inetpub\AdminScripts\startweb.vbs -a 5,52
数字同样是网站的标识符,如果不知道标识符是什么的话,看看网站日志存放空间的哪个文件夹W3SVC11就知道了。对11就是这个网站的标识符。嘿嘿,当然你写个程序那当然最完美啦!关adsutil.vbs脚本的更多用途。可以去百度或GOOGLE找找
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com