web-dev-qa-db-fra.com

Différence entre Cron et Crontab?

Je ne parviens pas à comprendre la réponse à cette question: "Quelle est la différence entre cron et crontab." Sont-ils tous deux des planificateurs, l'un exécutant les fichiers une fois et l'autre exécutant les fichiers à intervalles réguliers OR fait cron planifier un travail et crontab les stocke dans une table ou un fichier à exécuter?

Page Wiki pour Cron mentionne:

Cron est piloté par un fichier crontab (table cron), un fichier de configuration qui spécifie les commandes Shell à exécuter périodiquement selon une planification donnée.

Mais wiki.dreamhost pour crontab mentionne:

La commande crontab, présente dans les systèmes d'exploitation Unix et Unix, est utilisée pour planifier des commandes à exécuter périodiquement. Il lit une série de commandes à partir d'une entrée standard et les recueille dans un fichier appelé "crontab" qui est lu ultérieurement et dont les instructions sont exécutées.

Plus précisément, lorsque je planifie un travail à répéter: ( Citant du wiki)

1 0 * * *  printf > /var/log/Apache/error_log

ou exécuter une tâche une seule fois

at -f myScripts/call_show_fn.sh 1:55 2014-10-14

Suis-je en train de faire une fonction cron dans les deux commandes poussées dans crontab OR est le premier a crontab et le second a cron fonction?

44
NoobEditor

cron est le nom général du service qui exécute les actions planifiées. crond est le nom du démon qui s'exécute en arrière-plan et lit les fichiers crontab. A crontab est un fichier contenant des travaux au format

minute hour day-of-month month day-of-week  command

les crontabs sont normalement stockés par le système dans /var/spool/<username>/crontab. Ces fichiers ne sont pas destinés à être modifiés directement. Vous pouvez utiliser la commande crontab pour appeler un éditeur de texte (ce que vous avez défini pour la variable env EDITOR) pour modifier un fichier crontab.

Il existe différentes implémentations de cron. Il y aura généralement des fichiers crontab par utilisateur (accessibles avec la commande crontab -e) ainsi que les crontabs système dans /etc/cron.daily, /etc/cron.hourly, etc.

Dans votre premier exemple, vous planifiez un travail via une crontab. Dans votre deuxième exemple, vous utilisez la commande at pour mettre en file d'attente un travail pour une exécution ultérieure.

45
Ben Whaley