Come riavviare un servizio Systemd quando si modifica un file. Ho un servizio Java che voglio ricaricare quando cambia qualsiasi file jar.
Questa è la mia configurazione:
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/
Ho anche provato a utilizzare PathChanged
e utilizzare un file anziché una directory.
Quando ho installato il servizio ho eseguito: sudo systemctl daemon-reload
e sudo systemctl enable srv
Grazie!
srv.path
posso fare solo l'equivalente di systemclt start srv.service
, quindi per l'automazione dei riavvii avrai bisogno di un altro servizio, che quando avviato riavvia il tuo servizio.
systemctl start srv.path
- e averlo avviato all'avviosystemctl preset srv.path
path
unità siano utili solo per attivare (avviare) altre unità. Qui probabilmente potresti crearesrv-restart.path
conPathChanged=/opt/srv/lib/
esrv-restart.service
conExecStart=systemctl restart srv.service
.