crontab n’exécute pas mon script

Je suis nouveau pour créer des emplois. Je lis un article sur la façon d’écrire un travail cron avec crontab. Donc, ma crontab ressemble à ceci:

1 * * * * /Users/apple/Desktop/wget/down.sh

ce qui signifie que chaque minute je veux exécuter le script: down.sh. Maintenant, le script fonctionne correctement manuellement. Le script est un programme simple qui télécharge un PDF depuis Internet:

#!/bin/bash

wget -U Mozilla -t 1 -nd -A pdf "http://www.fi.usj.edu.lb/images/stories/HoraireS08/3eli.pdf" -e robots=off;

Je ne sais pas pourquoi il ne fonctionne pas toutes les minutes une fois que le terminal me dit qu’il installe la nouvelle crontab.

quelqu’un peut m’aider s’il vous plait?

Solution: Merci à tous pour votre aide, la syntaxe comme mcalex devrait être * * / 1 * * * path / to / script si vous voulez qu’elle soit exécutée toutes les heures. Le travail cron fonctionnait normalement. Cependant, mon erreur était simplement d’écrire des permissions, en fait, lors de l’exécution de la commande wget, il était censé écrire le fichier pdf dans le répertoire courant qui est un répertoire système. J’ai donc résolu mon problème en naviguant simplement dans le répertoire Desktop avant d’exécuter la commande wget comme suit:

cd /Users/apple/Desktop/wget

et puis fais ce que je veux faire. PS: je devrais également inclure le chemin complet de la commande wget.

Merci à tous pour votre aide à nouveau 🙂

Avez-vous une faute de frappe? Il semble que vous ayez mal saisi Desktop?

Une autre chose à faire est de redirect le résultat de l’exécution du script vers un fichier afin de voir ce qui se passe comme ceci:

1 * * * * /Users/apple/Destop/wget/down.sh >> /tmp/cron.out

puis consultez le fichier pour voir ce qui se passe.

Lorsque vous mettez 1 dans la première colonne, celle-ci sera exécutée la première minute (de chaque heure). Afin de le faire fonctionner à chaque minute de chaque heure, vous devez définir la colonne des minutes comme suit: * / 1

Donc, votre ligne devrait lire:

 */1 * * * * /Users/apple/Desktop/wget/down.sh 

liens de support: job all minute: https://bbs.archlinux.org/viewtopic.php?id=59180
travail toutes les 5 minutes: http://www.thegeekstuff.com/2011/07/cron-every-5-minutes/

1 * * * * /Users/apple/Destop/wget/down.sh

À partir de cette entrée, le script ne fonctionnera jamais à chaque minute car il s’exécutera à la première minute de chaque heure.

Apportez cette modification à votre fichier crontab pour exécuter ce script toutes les minutes.

“* * * * * /Users/apple/Destop/wget/down.sh”

  • Est-ce que cron vous a envoyé un email détaillant ce qui n’allait pas?
  • Le script sous ce chemin existe-t-il?
  • Notez que cron utilise /bin/sh pour exécuter des commandes.
  • Avez-vous défini un PATH correct dans votre script? wget n’est peut-être pas dans le PATH par défaut ou il n’y a peut-être aucun PATH . Essayez d’utiliser /path/to/wget dans le script.

Notez que télécharger le même fichier PDF une fois par minute est probablement une idée idiote, bien que …

Si votre tâche est en train d’écrire des choses sur le disque, faites attention à ce que la préférence système “Mettre le disque dur en veille lorsque cela est possible” ne soit pas cochée.

Cela empêchait l’exécution de mes tâches de sauvegarde cronjob.