Je programme certaines tâches en utilisant crontab.
Que se passera-t-il si mon ordinateur est éteint ou éteint pendant que cron devait faire quelque chose?
Chaque tâche cron manquée est-elle exécutée après la mise sous tension de l'ordinateur ou est-ce que les tâches manquées ce jour-là sont ignorées? Si les travaux manqués ne reprennent pas, y a-t-il un moyen de configurer cron pour qu'il exécute les tâches manquées après la remise sous tension de l'ordinateur?
Réponses:
Lorsque votre ordinateur est éteint (ou que le démon cron n'est pas en cours d'exécution), les tâches cron ne seront pas démarrées.
Si vous avez des tâches à exécuter ultérieurement, utilisez anacron. Installé par défaut, voir "man anacron", "man anacrontab" ou le fichier / etc / anacrontab pour plus d’informations.
Ubuntu utilise anacron par défaut pour les entrées de crontab dans:
en laissant les crontabs restants à la charge du démon principal cron, plus précisément:
REMARQUES
Anacron lui-même ne s'exécute pas en tant que démon, mais s'appuie sur les scripts de démarrage du système et s'exécute lui-même.
Sur la boîte Ubuntu 8.04 que je regarde, /etc/init.d/anacron est exécuté au démarrage, puis à nouveau par cron tous les matins à 07h30.
Le fichier README sur /usr/share/doc/anacron/README.gz contient un peu plus d’informations que ce qui est contenu dans les pages de manuel.
EXEMPLES
Pour les travaux simples "quotidiens", "hebdomadaires", "mensuels", placez une copie ou un lien symbolique vers le script dans l'un des répertoires /etc/cron.{daily|weekly|monthly} ci-dessus. Anacron se chargera de l'exécuter quotidiennement / hebdomadairement / mensuellement. Si votre ordinateur est éteint le jour où les scripts "hebdomadaires" sont normalement exécutés, il les exécutera à la prochaine utilisation de l'ordinateur.
Autre exemple, supposons que vous ayez un script ici: /usr/local/sbin/maint.sh
Et vous souhaitez l'exécuter tous les trois jours, l'entrée standard dans / etc / crontab ressemblerait à ceci:
Si votre ordinateur n'était pas allumé le 3 du mois à minuit, la tâche ne serait exécutée que le 6 du mois.
Pour que le travail s'exécute à la place le 4 lorsque l'ordinateur est éteint et "manque" l'exécution du 3, vous l'utiliserez dans / etc / anacrontab (n'oubliez pas de supprimer la ligne de / etc / crontab):
Le "délai" de "5" ci-dessus signifie que anacron attendra 5 minutes avant d’exécuter ce travail. L'idée est d'empêcher l'anacron de déclencher des choses immédiatement au moment du démarrage.
la source
anacron
, installez lecronie-anacron
paquet.Cela dépend du programmateur cron que vous utilisez. Le démon vanilla cron de base n'exécutera pas les tâches manquées en raison des temps d'arrêt du système. Cependant, il existe d'autres ordonnanceurs cron spécialement conçus pour cette situation et qui le feront pour vous. Les deux exemples les plus courants sont l' anacron et le fcron .
la source
Les tâches planifiées lorsque l'ordinateur est éteint ne seront pas exécutées lorsque l'ordinateur se rallumera
la source
Si vous arrêtez pendant l'exécution des tâches cron, le système s'arrête et les tâches cron s'arrêtent (ou ne s'exécutent pas).
Une alternative que vous pouvez vérifier est l'anacron.
la source
Cela dépend vraiment du démon cron que vous utilisez. Vixie-cron évitera simplement les tâches manquantes. fcron lancera les crons manqués dès que possible. IIRC est basé sur vixie-cron également. Si c'est ce que vous cherchez, consultez fcron.
la source