用于在关机时运行脚本的 systemd 服务文件改为在启动时运行

用于在关机时运行脚本的 systemd 服务文件改为在启动时运行

我是编写这些服务文件的新手,并且通过关注堆栈和 unix 溢出中的几个博客,我编写了一个 systemd 服务文件。

我有一个脚本需要在关闭时运行,并且需要运行 docker 守护进程。服务文件看起来像这样

[Unit]
Description=Shutdown script
Before=shutdown.target
Requires=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStop=/path/to/script

[Install]
WantedBy=multi-user.target

我正在尝试通过在 shell 脚本中添加以下内容,在实例的启动脚本中自动创建/启用上述服务(运行脚本)

chmod +x /path/to/script
if [ ! -f "/etc/systemd/system/path.service" ]; then
  cp  file/path.service /etc/systemd/system/path.service
  systemctl daemon-reload
fi
systemctl enable path.service

我希望它在每次关闭时运行,但它在实例启动时运行。我在上面的服务文件中犯了什么错误吗?

答案1

[Install]
WantedBy=multi-user.target

不在关机时运行服务,而是在启动时运行服务。你要

[Install]
WantedBy=shutdown.target

相关内容