文章目录
前言
在实际应用过程中,我们难免会遇到要使用Windows作为服务器。现在常见的形式,是在一台物理机上创建虚拟机,来实现,不同的操作系统的服务器的创建。
linux上有将后台应用实现为一个服务,设置enable即可,开机自启。那么windows能否实现呢?
自然可以
那些用途,需要实现windows的开机自启服务?
- Jenkins Slave节点
- MQ从节点
- Database从节点
- 部署有服务
可以说只要你把windows机器当作服务器来用,那就需要实现这种方式,当然即便不是虚拟机,用你本地的电脑作为服务器也可以,设置开机自启也并无不可。
什么的场景,需要实现windows的开机自启?
- 机房会出现断电
- windows会强制更新
- 随着时间推移,windows系统会变得卡顿,垃圾过多,需要重启
- windows系统更改某些设置,需要重启才能生效
总之,以上无论哪个情况,在实际中都不可避免,除非你加了备份。但是如果每次重启之后都要手动去启动一遍服务,非常繁琐,而且浪费时间、精力。
本篇文章,简单几步,帮你搞定windows开机自启,非常适合虚拟机的开机自启。无需登录
一、开机启动文件夹(StartUp)是否可行?
开机启动文件夹下放置开机启动的脚本,在开机后会自动执行这些脚本
开机启动文件夹分为用户开机启动文件夹
和系统开机启动文件夹
。
- 用户开机启动文件夹
通常位于目录: C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 也可通过按下Win+R键,打开“运行”对话框,输入shell:startup,来快速打开这个文件夹
用户开机启动,是需要指定用户登录后才会执行
- 系统开机启动文件夹
通常位于目录: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup 也可通过按下Win+R键,打开“运行”对话框,输入shell:common startup,来快速打开这个文件夹
系统开机启动,任务用户登录都会执行
但是无论是用户还是系统开机启动文件夹下,都有一个限制,就是都需要登录才会执行,如果是个人PC,重启或者开机后自动登录,所以只需要加入开机启动就完全可行
但是如果是虚拟机的话,重启并不会自动登录,通常需要远程登录一下,才会执行,虽然省略了启动服务的过程,但是每一次都要手动登录一次,也是神烦!这时候就需要更强大的任务计划程序
二、任务计划程序
任务计划程序功能更强大一些,可以指定用户、指定执行的时机,当然最重要的是还可以定时执行,相当于Linux的cron功能
下面以启动Jenkins Slave节点为例作为说明
1.编写脚本
写好脚本,放在一个不易改动的目录下
2.打开任务计划程序
- 搜索栏搜索“任务计划程序”,打开
Win+R
打开运行,输入taskschd.msc
,回车打开
3.创建任务
在左侧计划程序目录下,任务计划程序库
上右键,选择创建任务
4.配置常规选项
- 输入可辨别的名称,简要描述。
- 指定用户账户,这里会自动选择当前登录账户,当然可以选择其他账户,但是要知道密码才行,因为最后保存时,需要输入密码
- 勾选
不管用户是否登录都要运行
。(非常重要,勾选后才会真正的开机自启) - 勾选
使用最高权限运行
。(避免权限问题导致服务启动失败)
5.配置触发器选项
新建触发器,如果不设置触发器,则永远不会执行
默认配置为定时任务,改为启动时
6. 配置操作选项
新建操作,即配置该任务需要执行的程序或脚本
还可以设置脚本或程序启动时的参数
和起始目录
,因为我这里不需要,就不写了
7.配置条件选项
8.配置设置选项
这里可以设置,失败后重试机制以及重复运行此任务时如何处理等等,按需设置即可。没有特殊需要就保留默认
总结
设置windows系统的开机自启,有两种常见方法
- 将脚本添加到开机自启文件夹中,但是需要用户登录才能执行
- 添加任务计划程序,可以选择在系统启动时触发,无需登录
除此之外,还可以通过修改系统注册表项来实现这个需求,感兴趣的同学,可以自行查询资料实现,这里不再赘述!
最好的祝愿!