crontab -e, puis 0 * * * * = toutes les heures… Où est stocké


14

Après sudo crontab -e (il a écrit "/tmp/crontab.XXXX70pN9h" 1L, 19C 1,1 Tous

Ensuite, j'ai enregistré le fichier. Et pour vérifier ..? (comment? je ne sais pas)

And to check I 
ps -e | grep cron
29818 ?        00:00:00 cron

Alors .. mais j'ai décidé de vérifier à nouveau mais

sudo cat /etc/cron.hourly
cat: /etc/cron.hourly: Is a directory
xi@localhost ~ $ sudo ls /etc/cron.hourly

Rien! c'est à dire dans le répertoire

Si je comprends bien le premier 0 dans la position horaire signifie toutes les heures?


Ok, je vais attendre une heure (le plus petit écart dans la documentation)
Xsi

Vous voulez vraiment vérifier une de mes questions. Il a une réponse de Stéphane Chazelas qui explique comment vous pouvez créer un shell interactif identique à l'environnement que verra votre tâche cron. Si vous parcourez sa petite procédure, vous obtenez une invite et vous pouvez tester votre cronjob étape par étape et voir où il échoue. unix.stackexchange.com/a/56503/16841 Bien sûr, ce n'est pas une correspondance à 100% pour votre question, mais cela peut vous aider à résoudre les problèmes de crontab.
jippie

Réponses:


24

Les champs en cron sont:

m      h       dom             mon     dow          command
Minute Hour    Day of Month    Month   Day of week  <command>

Et votre 0 * * * * <command>se traduit alors par "Exécuter la commande toutes les heures, tous les jours, tous les mois et tous les jours de la semaine, si la minute est 0"

Vous pouvez lister votre crontab en utilisant crontab -l, comme delh déjà indiqué.

Prenez ce lien ici, il y a quelques exemples pratiques de Cron


date [-u | --utc | --universal] [MMDDhhmm [[CC] YY] [. ss]] c'est comme, mais vice versa
Xsi

Qu'est-ce que cela a à voir avec cron?
Bonsi Scott

9

Vos crontabet cron.hourlysont des entités distinctes. Mettre quelque chose dans votre crontabne le met pas cron.hourly, même s'il s'exécute toutes les heures. Mettre un script dedans cron.hourlyn'est qu'une autre façon de l'exécuter toutes les heures, c'est-à-dire que votre crondémon vérifie à la fois vos crontab et cron.hourly . L'avoir dans les deux le ferait fonctionner deux fois.


Ven 9 nov 15:16:01 EET 2012 xi @ localhost ~ $ ls /var/log/cron.log ls: impossible d'accéder à /var/log/cron.log: aucun fichier ou répertoire de ce type
Xsi

3

Vous pouvez vérifier si le crontab est installé en utilisant:

sudo crontab -l

Toutes les heures, un message de journal doit apparaître dans la mesure /var/log/syslogoù il a été exécuté.

Lectures complémentaires:

http://www.linuxweblog.com/crotab-tutorial

Je pense que le premier zéro (0) correspond aux minutes. Mais si vous dites que vous voulez que quelque chose soit fait lorsque les minutes sont à 0, cela sera effectué toutes les heures. Comme seulement une fois par heure, les minutes sont nulles.



1

Si vous recherchez réellement des fichiers cron utilisateur pour voir quand ils sont modifiés ou quelque chose de ce genre, vous pouvez les trouver, /var/spool/cron/mais vous ne devriez probablement pas manipuler les fichiers manuellement.


Pas tant que cela ne devrait probablement pas être le cas . Le crondémon ne remarquera aucun changement si vous modifiez directement les fichiers. À la place, utilisez crontab -lpour répertorier l'utilisateur actuel, crontab -epour modifier pour l'utilisateur actuel et / ou inclure -u {user}également pour accéder à cet utilisateur différent crontab. Tout cela est bien défini dans la page de manuel decrontab .
roaima

Je crois qu'il existe des moyens de définir cronpour vérifier automatiquement les fichiers pour les changements si vous avez vraiment besoin de les mettre à jour manuellement.
Molimo

Si vous devez les mettre à jour manuellement, utilisez l' crontabinterface; c'est pour ça qu'il est là. Sinon, vous devrez arrêter et redémarrer le crondémon.
roaima
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.