如何在 systemd 配置中有条件地 运行 不同的文件?
How to run different files conditionally in systemd config?
我希望这不是一个重复的问题。 systemd真的好难找....
我有一个 systemd 文件,看起来像
[Unit]
Description=My Daemon
[Service]
User=root
Type=simple
PIDFile=/var/run/app.pid
ExecStart=/usr/bin/python /opt/app/app.pyc
Restart=always
[Install]
WantedBy=multi-user.target
我希望 ExecStart 运行 /usr/bin/python /opt/app/app.pyc 如果它存在并且 运行 /usr/bin/python /opt/app/app.py 如果它不存在.
我们的目标是在部署的系统上不会有 py 文件只有 pyc 但在开发系统上我们可能只有一个 py 文件。我怎样才能让它工作?
制作一个小的 bash 脚本来执行您想要的操作,然后将该脚本放在 ExecStart
行上。
#!/bin/bash
if [ -f /opt/app/app.pyc ];
then
exec /opt/app/app.pyc
else
exec /opt/app/app.py
fi
我希望这不是一个重复的问题。 systemd真的好难找....
我有一个 systemd 文件,看起来像
[Unit]
Description=My Daemon
[Service]
User=root
Type=simple
PIDFile=/var/run/app.pid
ExecStart=/usr/bin/python /opt/app/app.pyc
Restart=always
[Install]
WantedBy=multi-user.target
我希望 ExecStart 运行 /usr/bin/python /opt/app/app.pyc 如果它存在并且 运行 /usr/bin/python /opt/app/app.py 如果它不存在.
我们的目标是在部署的系统上不会有 py 文件只有 pyc 但在开发系统上我们可能只有一个 py 文件。我怎样才能让它工作?
制作一个小的 bash 脚本来执行您想要的操作,然后将该脚本放在 ExecStart
行上。
#!/bin/bash
if [ -f /opt/app/app.pyc ];
then
exec /opt/app/app.pyc
else
exec /opt/app/app.py
fi