Solução alternativa: systemd
está comendo todas as partes do sistema Linux. Com isso em mente, agora ele tem uma unidade timer
que pode ser relacionada a uma unidade service
de mesmo nome para criar uma programação e imitar anacron. Exemplo:
Serviço. Chamaremos de foo
e o script /home/user/foo.sh
será executado. Ao trabalhar com temporizadores, sua unidade service
não precisa ter a seção [Install]
:
/etc/systemd/system/foo.service
[Unit]
Description=My foo script
[Service]
Type=simple
ExecStart=/home/user/foo.sh
Temporizador. Esta é a unidade especial que irá lidar com o horário:
/etc/systemd/system/foo.timer
[Unit]
Description=Run foo every 45 days and on boot
Persistent=true
[Timer]
OnBootSec=15min
OnUnitActiveSec=45d
[Install]
WantedBy=multi-user.target
Observando a seção [Timer]
, seu script será executado 15 minutos após a inicialização (você pode remover isso) e a cada 45 dias. O parâmetro Persistent=
significa que, mesmo após a reinicialização, a programação persistirá no disco e não será reiniciada.
E, em seguida, ative as duas unidades:
systemctl enable foo.service
systemctl enable foo.timer
Você pode não gostar de systemd
, mas essa é uma solução rápida para problemas com agendamento e cron
.
Leitura adicional: