GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi ma tâche cron.d par minute ne s'exécute-t-elle pas ?

Lors de l'ajout d'une configuration cron dans /etc/cron.d/ ou en /etc/crontab vous devez ajouter le nom d'utilisateur dans quel contexte la commande doit s'exécuter, dans votre exemple

* * * * * root /bin/touch /home/me/ding_dong

Et juste un indice de ma part :vous n'êtes pas obligé de commencer à exécuter ls -ltr encore et encore, utilisez simplement watch -n 5 "ls -ltr" et il exécutera la commande toutes les 5 secondes (ou toute autre valeur en remplaçant 5 par ce que vous voulez).


Pour créer un nouveau cron travail, vous devez exécuter crontab -e en tant qu'utilisateur pour lequel vous souhaitez exécuter la tâche. Ajoutez ensuite la ligne correspondante dans la fenêtre de l'éditeur qui s'affiche :

* * * * * /bin/touch /home/me/ding_dong

La façon dont vous le faites nécessite un format différent et ce n'est vraiment pas une bonne idée de toute façon. Crontabs en /etc/cron.d ont un format légèrement différent, ils nécessitent un nom d'utilisateur pour être exécutés. Par exemple :

* * * * * USERNAME /bin/touch /home/me/ding_dong

Une bonne astuce (comme suggéré par @VogonPoetLaureate) consiste à capturer l'erreur standard de vos tâches cron, ce qui peut aider à les déboguer. Par exemple :

* * * * * /bin/touch /home/me/ding_dong 2>/tmp/error

Une erreur possible ici est comment un fichier d'une seule ligne est créé. À partir de la documentation Ubuntu :

... la ligne comporte cinq champs d'heure et de date, suivis d'une commande, suivie d'un caractère de saut de ligne .

Par exemple, cette méthode de création ne fonctionne pas :

printf "* * * * * /bin/touch /home/me/ding_dong" > /etc/cron.d/ding_dong

Linux
  1. /usr/bin Vs /usr/local/bin Sous Linux ?

  2. Pourquoi /bin/sh pointe-t-il vers /bin/dash et non /bin/bash ? ?

  3. Comment mettre en place une tâche cron pour lancer un exécutable toutes les heures ?

  4. Linux :exécuter la tâche cron au premier plan

  5. Comment exécuter une tâche cron dans un conteneur docker

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

unix:///var/run/supervisor.sock aucun fichier de ce type

Déplacement du contenu de /bin vers /usr/bin, possible d'annuler ?

tâche cron à exécuter sous l'environnement virtuel conda

Puis-je exécuter une tâche cron plus fréquemment que toutes les minutes ?

Le travail cron de récupération de place d'Ubuntu pour les sessions PHP prend 25 minutes à s'exécuter, pourquoi ?