如何在 systemd 服务的某个依赖项启动后启动该服务?

如何在 systemd 服务的某个依赖项启动后启动该服务?

我在 Debian jessie 系统上。我已将cron服务配置为依赖于slapdnscd服务。我通过在此处创建 systemd“插入式”配置文件来完成此操作:

/etc/systemd/system/cron.service.d/foo.conf

其内容如下:

[Unit]
Requires=slapd.service nscd.service
After=slapd.service nscd.service

有了这个,我可以重新启动slapd服务,cron服务也会重新启动,所以没问题。但是,如果我先停止slapd,然后在单独的命令中重新启动,服务cron将不会再次启动。当我更新一些系统软件包时,这显然导致停止和启动分为两个不同的步骤,这让我很困扰slapd- 我没有注意到这个问题,所以 cron 很多天都没有运行。

无论如何,回到问题:是否可以配置服务,以便在启动其依赖项时自动启动?就像系统启动时发生的情况一样?

答案1

如果 slapd 重新启动,是否需要重新启动 cron?我认为不需要。将 更改为Requires=应该Wants=可以解决您的问题:停止 slapd 对 cron 没有任何影响。

相关内容