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: