关于systemctl服务中TYPE参数的那些事

前言最近发现mongodb总是莫名其妙的挂掉,一边查找原因,一边想着如果能自动重启就好了,于是mongodb的自动重启这件事就提上日程了。本来以为最多半小时的事,没想到还是遇到了一些奇妙的问题,为了找原因花费了不少时间。在这里记录一下,以便其他同学避免踩坑。踩坑历程再现操作系统:Ubuntu 18.04建立了一个/lib/systemd/system/mongo.service文件,在文件上写上对应内容[Unit]Description=mongodbAfter=network.target
摘要由CSDN通过智能技术生成

前言

最近发现mongodb总是莫名其妙的挂掉,一边查找原因,一边想着如果能自动重启就好了,于是mongodb的自动重启这件事就提上日程了。本来以为最多半小时的事,没想到还是遇到了一些奇妙的问题,为了找原因花费了不少时间。在这里记录一下,以便其他同学避免踩坑。

踩坑历程再现

操作系统:Ubuntu 18.04

建立了一个/lib/systemd/system/mongo.service文件,在文件上写上对应内容

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/dev/usr/mongodb/bin/mongod --dbpath /dev/usr/mongodb/data
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/dev/usr/mongodb/bin/mongod --shutdown --dbpath /dev/usr/mongodb/data
PrivateTmp=true
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

关键就是

Restart=always
RestartSec=5

这两句话,能够在mongodb挂掉之后自动重启。

然后使用

systemctl daemon-reload
systemctl start mongo.service

启动mongodb服务,发现半天没有反应,只能ctrl-c结束掉,感觉不太对劲。

查了一下有数据,本来以为万事大吉,但使用journalctl -xe没有看到错误,但systemctl status mongo.sercice查了一下看输出却显示没有进入running一直是start的状态

● mongo-server.service - mongodb
   Loaded: loaded (/lib/systemd/system/mongo-server.service; enabled; vendor preset: enabled)
   Active: activating (start) since Fri 2021-02-19 14:37:13 CST; 1min 21s ago
  Process: 20076 ExecStop
  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值