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 PathChangede utilizzare un file anziché una directory.
Quando ho installato il servizio ho eseguito: sudo systemctl daemon-reloade sudo systemctl enable srv
Grazie!
srv.pathposso 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
pathunità siano utili solo per attivare (avviare) altre unità. Qui probabilmente potresti crearesrv-restart.pathconPathChanged=/opt/srv/lib/esrv-restart.serviceconExecStart=systemctl restart srv.service.