Windows 服务器实现定时重启并启动脚本的正确姿势
背景
老规矩,说下写此博文的来由。
组内需要跑UI自动化,而UI自动化在Windows服务器下更接近用户真实环境。UI脚本有接近1万条用例,一个小时跑一次,长时间的在服务器上执行,会导致服务器的selenim进程卡死。所以需要每天重启一次,释放服务器上的资源占用。
折腾许久,写好了启动脚本,然后也加入到服务器的开机启动里面,发现几个问题
- 放在
用户
开机启动的文件夹目录里,一定需要登录到该服务器上,才会生效,简单一点理解:这种启动方式,是需要当前用户(比如admin 或者 其他用户)登录到这台机器才会触发 - 放在
for all users
的文件夹目录里,跟1是一个道理,达不到目的 - 在
Task Scheduler
->Task Scheduler Library
->Microsoft
底下添加 基础任务,然后选中对应的启动脚本,发现没卵用,还是需要人工登录到这台服务器上,才会启动脚本。
Note: 因为服务器是因为的,所以上面的一些设置都是采用的英文名,中文名可以按照字面意思大致推测一下。
正确姿势
进入到 任务调度 页面
定时重启电脑
-
进入到任务列表 -> 创建基础任务
-
名字随意
-
触发时机 — 每天 OR 开机启动
-
设置重启时间节点,我这里设置的是每天上午11:50
-
选择操作:启动一个程序
-
填写重启命令
shutdown -r -f -t 5
-
点击保存
-
完成之后,点击刚才创建的任务,点击
修改用户or用户组
:特别重要
-
输入System,然后点击检查名字,点击OK :
特别重要
-
再次查看刚才保存的任务信息,确保用户已经修改成System :
特别重要
开机启动
和上面的步骤完全一样,第三步差异,选择开机启动
第六步差异:选择你自己的脚本