首先创建一个启动脚本命名为netcore.servic,放到/etc/systemd/system目录下,修改对应的app目录和 启动命令即可

Type=simple
# app的目录
WorkingDirectory=/www/publish
# 启动命令
ExecStart=/usr/bin/dotnet Web.App.dll
Restart=always
StandardOutput=journal
StandardError=journal
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

重新加载守护进程列表

systemctl daemon-reload

这个脚本只具有启动应用的能力,没有停止和重启的功能,所以要再写一个脚本停止并启动应用

#!/bin/sh
app_dir="/www/publish"

pid=`ps -ef | grep 'Web.App.dll' | grep -v grep |awk '{print $2}'`
echo $pid
#kill process
while [ "#$pid" != "#" ];do
   echo "kill $pid"
   kill -9 $pid
   sleep 1s
   pid=`ps -ef | grep 'Web.App.dll' | grep -v grep |awk '{print $2}'`
done

#start process
sleep 5s
systemctl start netcore.service


最后创建任务计划即可(每天零点重启)

crontab -e
* 0 * * *  /opt/script/app_restart.sh

重启crond服务

systemctl restart crond

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-09
  • 2022-12-23
  • 2021-10-10
  • 2022-01-27
  • 2021-04-13
  • 2021-11-21
猜你喜欢
  • 2022-12-23
  • 2021-09-08
  • 2021-12-19
  • 2021-12-10
  • 2022-02-08
  • 2021-11-04
  • 2021-06-01
相关资源
相似解决方案