无法删除 sysemd 单元文件中的锁定文件

无法删除 sysemd 单元文件中的锁定文件

我在 RHEL7 上使用 systemd 时遇到了一个非常奇怪的问题。单元文件执行结束时不会删除 /run/puppetboot.lock 文件。奇怪的是,当我用“/usr/bin/true”替换“puppet agent”行时,锁定文件会按预期被删除。

[Unit]
Description=Extra Puppet runs
Wants=basic.target
Before=puppet.service
After=basic.target network.target puppetmaster.service

[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=-/etc/sysconfig/puppetagent
EnvironmentFile=-/etc/sysconfig/puppet
ExecStart=/usr/bin/touch /run/puppetboot.lock
ExecStart=/usr/bin/puppet agent --onetime --no-daemonize --ignoreschedules
ExecStart=/usr/bin/puppet agent --onetime --no-daemonize --ignoreschedules
ExecStart=/usr/bin/rm -f /run/puppetboot.lock
ExecStart=/bin/bash -c "/bin/test -x /usr/local/sbin/reboot-if-needed && /usr/local/sbin/reboot-if-needed"

[Install]
WantedBy=multi-user.target puppet.service

我使用锁定文件作为早期启动配置和设置已完成的信号,以便我可以向管理员发送电子邮件以进行构建后配置。我希望避免添加 systemd 单元文件,只是为了在新服务器构建后向我发送烦人的电子邮件。

相关内容