Jak zrestartować usługę Systemd po zmianie pliku. Mam usługę Java, którą chcę ponownie załadować, gdy zmieni się jakikolwiek plik jar.
Oto moja konfiguracja:
srv.service
[Unit]
Description=srv 0.1: Service's description
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/srv
ExecStart=/opt/srv/bin/srv
User=root
Group=root
[Install]
WantedBy=multi-user.target
srv.path
[Path]
PathModified=/opt/srv/lib/
Próbowałem także użyć PathChanged
pliku zamiast katalogu.
Po zainstalowaniu usługi wykonałem: sudo systemctl daemon-reload
i sudo systemctl enable srv
Dzięki!
srv.path
mogę zrobić tylko odpowiednik systemclt start srv.service
, więc do automatyzacji restartów będziesz potrzebować innej usługi, która po uruchomieniu ponownie uruchomi twoją usługę.
systemctl start srv.path
- i uruchomić przy starciesystemctl preset srv.path
path
jednostki są użyteczne tylko do aktywacji (uruchamiania) innych jednostek. Tutaj można prawdopodobnie tworzyćsrv-restart.path
sięPathChanged=/opt/srv/lib/
isrv-restart.service
zExecStart=systemctl restart srv.service
.