一、nssm进程管理
有些应用支持安装为windows服务
ElasticSearch:bin/elasticsearch-service.bat install/remove/start/stop
Mongodb:bin/mongod.exe --logpath xxx --logappend --dbpath xxxx --directoryperdb --serviceName MongoDB --install
还有一些比如部署java应用,为了方便部署我们可以使用nssm进程管理器来管理应用
首先创建一个bat文件,内容:java -jar xxx.jar --spring.profiles.active=dev
然后在nssm安装目录执行:nssm install xxx
在弹出的界面Path中选择bat文件路径,Startup dir选择项目跟目录,I/O中可以指定服务日志路径
然后点击Install service
在windows的进程管理中就安装上这个服务了可以手动或自动开启服务
nssm常用命令
nssm install/start/stop/restart/remove xxx
注册服务:nssm install <servicename>
启动服务: nssm start <servicename>
停止服务: nssm stop <servicename>
重启服务: nssm restart <servicename>
暂停服务:nssm pause <servicename>
继续服务:nssm continue <servicename>
查看服务状态:nssm status <servicename>
修改服务参数:nssm edit <servicename>
删除服务:nssm remove <servicename> confirm,confirm不需要确认
二、定时任务
打开控制面板->管理工具->任务计划->创建基本任务->输入名称和描述->选择周期->选择要运行的脚本文件->完成->在界面查看是否创建成功
下面是数据库自动备份脚本
main.bat内容
@echo off
set path=%path%
set /a x=0
set ii=0
for %%i in (一 二 三 四 五 六 日) do (
set /a ii=ii+1
if %%i==%date:~-1% (
set /a x=ii
)
)
if not exist c:\ssmdb_back (
md c:\ssmdb_back
)
C:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin\
::bakup mysql data -------------------------------------
mysqldump -P4306 -uroot -pxxx --databases xx > c:\ssmdb_back\mysql_bak.sql
::ping /n 10 127.1 >null
::send file by Email -------------------------------------
C:\ssmdb_back\sendmail.vbs
::delete sql file -------------------------------------
::del /F /Q d:\db_backup\mysql_bak.sql
::rename file
cd c:\ssmdb_back\
ren mysql_bak.sql mysql_bak%x%.sql
if not exist d:\ssmdb_back\data (
md d:\ssmdb_back\data
)
move /Y C:\ssmdb_back\mysql_bak%x%.sql C:\ssmdb_back\data\
@ping /n 10 127.1 >null
exit
sendmail.vbs文件内容
NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
Set Email = CreateObject("CDO.Message")
Email.From = "xxx@163.com"
Email.To = "xxx@163.com"
Email.Subject = "xxx数据库备份"
Email.Textbody = "数据库备份文件在附件中。系统自动发送请勿直接回复"
Email.AddAttachment "c:\ssmdb_back\mysql_bak.sql"
With Email.Configuration.Fields
.Item(NameSpace&"sendusing") = 2
.Item(NameSpace&"smtpserver") = "smtp.163.com"
.Item(NameSpace&"smtpserverport") = 465
.Item(NameSpace&"smtpusessl") = True
.Item(NameSpace&"smtpauthenticate") = 1
.Item(NameSpace&"sendusername") = "xxx@163.com"
.Item(NameSpace&"sendpassword") = "xxx"
.Update
End With
Email.Send
三、关闭dhcp服务
在配置网卡时系统会自动配置DHCP的地址。在配置静态IP地址后dhcp和static的IP地址会同时存在。远程连接(mstsc)的时候无法连接,但可以Ping通。出现该问题的原因是ipv4同时出现两个地址,无法识别正确的ip。所以我们得关闭dhcp协议。
打开Windows PowerShell->netsh interface ipv4 show inter(找到网卡适配器idx)->netsh interface ipv4 set interface 4 dadtransmits=0 store=persistent->net stop dhcp->禁用网卡或者重启操作系统