Serv-U停止服务的另类解决方案

         最近使用Serv-U来架设FTP服务器,用于文件传输的桥梁。好景不长,每隔一段时间,Serv-U的服务就会自动停止。因为这个ftp服务很重要,要保证每天都能正常工作,如果只靠人每天来查看服务是否正常,牵涉精力不说,又不是十分靠谱。于是,Google之。网上各种说法都有,如FTP在流量较大的情况下,Serv-U会因为繁忙而自动停止服务。总之,找不到Serv-U周期性停止服务的原因。没办法,只好转换思路:找不到Serv-U周期性停止服务的原因,那么在Serv-U服务停止后能够检测到服务停止自动启动Serv-U服务,这个方案也为尝不可。

        方案:执行计划+批处理。设置执行计划,每30分钟执行一个批处理任务。批处理的作用:读取进程列表,查看Serv-U进程是否存在;如果进程不存在,启动该服务并输出日志。下面是批处理实现部分:

@echo off

for /f "usebackq" %%i in (`"tasklist|find /c "Serv-U.exe""`) do (
	set chkstat=%%i
)

if %chkstat% == 0 (
	net start Serv-U
	echo ================ >> %date:~0,10%.log
	echo %date% %time% check Serv-U service stop >> %date:~0,10%.log
	echo restart Serv-U service! >> %date:~0,10%.log
	echo ================ >> %date:~0,10%.log
)




你可能感兴趣的:(批处理)