Perché convertire TIMER in SERVICE?
In systemd queste sono due metà di un unico lavoro: il .timer dice quando, e il .SERVICE dice cosa. Quindi il compito realistico non è la conversione ma la scrittura dell'unità di servizio corrispondente che il timer attiva, tramite corrispondenza del nome predefinito o tramite la direttiva Unit=.
Come convertire TIMER in SERVICE
Qualsiasi editor di testo FREE
Crea un file con lo stesso nome di base, ad esempio backup.service accanto a backup.timer, aggiungendo una sezione [Service] con ExecStart= impostato sul tuo comando; il timer lo attiva automaticamente per nome.
systemctl edit FREE
Esegui systemctl edit --full --force backup.service per aprire una nuova unità nella directory corretta, definisci ExecStart=, quindi systemctl daemon-reload e abilita il timer.
Informazioni su questi formati
Un file .timer è un'unità di systemd che pianifica l'esecuzione di un'altra unità (solitamente un file .service corrispondente) su Linux, fungendo da sostituto moderno di cron. Si tratta di…
Apri dettagli .TIMER →Un file .SERVICE è associato a Mac OS X Service Application, un file di tipo system.
Apri dettagli .SERVICE →Qualità e a cosa prestare attenzione
- Per impostazione predefinita, un
backup.timerattivabackup.service; usaUnit=nella sezione[Timer]del timer solo se il nome del servizio differisce. - Il servizio dovrebbe essere tipicamente
Type=oneshotper le attività pianificate, in modo che systemd tratti ogni esecuzione come un lavoro discreto. - Dopo aver creato o modificato l'unità, esegui
systemctl daemon-reloado il timer non rileverà il nuovo servizio.
Domande frequenti
Un timer può funzionare senza un servizio?
.service corrispondente che definisce il comando.Come fa il timer a sapere quale servizio eseguire?
foo.timer esegue foo.service), a meno che non lo si sovrascriva con Unit= nel file del timer.Devo abilitare il timer o il servizio?
.timer; systemd avvierà il servizio secondo la pianificazione per te.Dove risiedono questi file di unità?
/etc/systemd/system/ per le unità a livello di sistema; esegui systemctl daemon-reload dopo la modifica.