前言
部署服务,应该是运维工作的基础内容和日常技巧了,其中【如何让服务持久化运行下去】一直以来都是运维工作的重中之重。
而【服务器异常关闭或重启】无疑给这项运维工作带来挑战,为了保证服务能够在服务器恢复后尽快恢复,【开机自启动】方案尤为重要。
有linux和windows两种方案,因为篇幅原因,这里给出【windows部署开机自启动服务】方案中【任务计划程序】及【startup启动目录】两种方式。
任务计划程序
1、进入任务计划程序
你可以通过键盘【win+R】快捷键打开运行窗口,并在窗口中输入【taskschd.msc】来进入windows任务计划程序应用。
2、创建开机自启动任务
点击右侧栏目中的【创建任务】,进入任务创建界面,并根据如下图例进行设置
3、编写服务启动bat脚本
编写bat脚本要根据自己项目的实际情况来,比如谁先执行、然后谁执行,要等个多少时间才能执行之类的,所以这里只给出基本的bat脚本,有需要的可以去自己学习下。
@echo off
f:
cd F:\A\daily_servers\sp_v1.9
start pythonw sp_pdf_base.py
timeout /t 2 /nobreak
cd F:\A\daily_servers\sp_v2.0
start pythonw sp_pdf_fix.py
timeout /t 2 /nobreak
cd F:\A\daily_servers\bat_server
start "" clock_video_transfer_vertical.bat
timeout /t 2 /nobreak
这里,我使用pythonw启动了两个python脚本,最后新建了一个cmd窗口,启动了一个bat脚本服务,并且服务之间设置了2秒的间隔。
4、完成开机自启动任务的添加
bat脚本设置好了后,就一路点击【确认】,添加这个任务。
这时候你的这个开机自启动任务就已经加在任务列表里了
你也可以随时控制这个开机自启动任务的运行、结束、禁用、删除、属性更改等功能
startup启动目录
相比于使用任务计划程序,直接将bat脚本丢到【开机自启动目录】里显得更加便捷,但这种方式往往会被杀毒软件盯上。
有两个方式可以使用,一个是设置快捷方式(chatgpt提供,我个人没有尝试),一个是将bat脚本直接丢进去。
1、bat脚本丢入
将bat脚本复制到以下两个启动目录中之一即可:
C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
2、设置快捷方式
1.按下 windows + R 组合键,打开运行窗口,并输入“shell:startup”,然后点击确定。
2.在 Startup 目录窗口中,右键单击空白处,选择“新建 > 快捷方式”。
3.填写你的快捷方式信息,包括名称和目标文件的路径,点击下一步。
4.点击完成。