
Eu mudei do cron parasystemd-croncom meu sistema Debian instável, mas agora o "cron job" diário geralmente falha, porque ele executa o mixmaster que busca seu banco de dados na Internet e se o cron-daily.timer for acionado antes da rede estar ativa, após acordar da suspensão para RAM, o mixmaster não consegue acessar o servidor.
Apr 24 11:02:23 run-parts[13608]: /usr/bin/mixmaster-update: Get failed for http://www.noreply.org/echolot/pgp-all.asc (500 Can't connect to www.noreply.org:80)
Apr 24 11:02:23 run-parts[13608]: Downloading of mlist and/or mixring failed (do you need a proxy?). Aborting.
Apr 24 11:02:23 su[13809]: pam_unix(su:session): session closed for user mixmaster
Apr 24 11:02:23 run-parts[13608]: run-parts: /etc/cron.daily/mixmaster exited with return code 22
É possível atrasar o cronômetro até que a rede esteja funcionando?
Responder1
Use temporizadores do systemd em vez do cron.
Então, na sua unidade systemd, você pode especificarAfter=network-online.target and Wants=network-online.target
.
Responder2
Pode valer a pena usar os temporizadores do systemd em vez do cron. Você deverá então ser capaz de especificar na unidade do que ela depende.
https://wiki.archlinux.org/index.php/Systemd#Handling_dependencies
Responder3
No meuconfiguraro cron job é executado a cada minuto, mas é encerrado se não houver conexão com a Internet, por meio de um teste de conectividade como
nc -zw3 github.com 22 || exit 0
Quando finalmente houver uma conexão com a Internet, então, uma vez por dia, os trabalhos anacron serão executados.