Serveis programats
Un altra funcionalitat interessant de systemd és la possibilitat de programar l'execució de serveis amb systemd.timer. Aquesta funcionalitat permet programar l'execució de serveis en un moment concret o de forma periòdica. Això pot ser útil per realitzar tasques de manteniment automàticament, com ara còpies de seguretat, actualitzacions de sistema, etc.
Anem a veure com podem programar l'actualització del sistema amb un servei apt-update i un temporitzador apt-update.timer cada dia a les 00:00.
-
Crea un fitxer de servei
apt-update.service: Crea un fitxer de serveiapt-update.servicea/etc/systemd/system/apt-update.serviceamb el següent contingut:[Unit] Description=Update the package list [Service] Type=oneshot ExecStart=/usr/bin/apt updateAquest fitxer de servei executa la comanda
apt updateper actualitzar la llista de paquets del sistema. -
Crea un fitxer de temporitzador
apt-update.timer: Crea un fitxer de temporitzadorapt-update.timera/etc/systemd/system/apt-update.timeramb el següent contingut:[Unit] Description=Run apt-update daily at 00:00 [Timer] OnCalendar=daily [Install] WantedBy=timers.targetAquest fitxer de temporitzador programa l'execució del servei
apt-update.servicecada dia a les 00:00. -
Inicia el temporitzador: Inicia el temporitzador
apt-update.timeramb la comandasystemctl start apt-update.timer.systemctl start apt-update.timer -
Habilita el temporitzador: Habilita el temporitzador
apt-update.timerperquè s'executi a l'arrencada amb la comandasystemctl enable apt-update.timer.systemctl enable apt-update.timer💡 Nota:
Podeu utilitzar
systemctl enable --now unitatper iniciar i habilitar una unitat al mateix temps. -
Comprova l'estat del temporitzador: Comprova l'estat del temporitzador
apt-update.timeramb la comandasystemctl status apt-update.timer.
Una vegada configurat el temporitzador, el sistema executarà el servei apt-update.service cada dia a les 00:00 per actualitzar la llista de paquets del sistema.
Si volem actualitzar els paquets cada hora en punt.
-
Crea un fitxer de servei
apt-update.servicea/etc/systemd/system/apt-update.service:[Unit] Description=Update the package list [Service] Type=oneshot ExecStart=/usr/bin/apt update -
Crea un fitxer de temporitzador
apt-update.timera/etc/systemd/system/apt-update.timeramb el següent contingut:[Unit] Description=Timer per Update the package list [Timer] OnCalendar=*-*-* *:00:00 Persistent=true [Install] WantedBy=timers.target
ℹ️ Diferencia entre .bashrc i .bash_profile?
OnCalendar=*-*-* *:00:0 identifica any-mes-dia hora:minuts:segons