Com propósito de agendar uma execução para um serviço específico em um determinado período de tempo, um arquivo timer pode ajudar a atingir esse objetivo. Timers são arquivos unit do systemd, cujo nome é seguido pelo sufixo .timer, e tem essa característica. Olhando para o conteúdo do arquivo conforme demonstrado no exemplo a seguir, podemos notar a presença da seção Timer:
[Unit]
Description=XXXX
[Timer]
OnCalendar=*-*-* 10:30:00
Persistent=true
Unit=<service file>
[Install]
WantedBy=<target>
A seção Timer utiliza a opção OnCalendar para estabelecer quando o serviço deve ser executado (no exemplo acima, sempre às 10h30) apontando seu respectivo serviço na opção Unit.
Não obstante, como uma unit definida por usuário, os arquivos de timer e de serviço precisam estar disponíveis no diretório /etc/systemd/system/ para que o target especificado em ambos os arquivos possa descobri-los e envolvê-los no processo de inicialização do sistema Linux.
Depois disso, a próxima etapa é executar o comando daemon-reload
para recalcular as dependências do serviço, ativá-las para criar um link simbólico do diretório systemd do target para o diretório systemd no qual elas estão disponíveis e, por último, iniciá-las. O exemplo a seguir traz a sequência desses comandos:
systemctl daemon-reload
systemctl enable <timer file> <service file>
systemctl start <timer file> service file>
Você pode ver o status deles usando os comandos abaixo:
systemctl status <timer file>
systemctl status <service file>