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ć PathChangedpliku zamiast katalogu.
Po zainstalowaniu usługi wykonałem: sudo systemctl daemon-reloadi sudo systemctl enable srv
Dzięki!
srv.pathmogę 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
pathjednostki są użyteczne tylko do aktywacji (uruchamiania) innych jednostek. Tutaj można prawdopodobnie tworzyćsrv-restart.pathsięPathChanged=/opt/srv/lib/isrv-restart.servicezExecStart=systemctl restart srv.service.