J'avais mis un travail cron:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Le problème principal est qu’à l’heure prévue, il y a une erreur: "le courrier a été envoyé à / var / spool / mail / lucky".
Le contenu de myfile.sh est:
mkdir jh
cd jh
J'avais mis un travail cron:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Le problème principal est qu’à l’heure prévue, il y a une erreur: "le courrier a été envoyé à / var / spool / mail / lucky".
Le contenu de myfile.sh est:
mkdir jh
cd jh
Réponses:
Ce n’est pas correct pour un script défini comme travail cron:
mkdir jh
cd jh
Vous devriez donner le chemin complet où le jhrépertoire doit être créé. De plus, dans ce chemin, vous devriez avoir l'autorisation de créer de nouveaux fichiers / répertoires.
Par exemple, votre script devrait ressembler à:
#!/bin/sh
mkdir /home/lucky/jh
cd /home/lucky/jh
Aussi /usr/bin/shn'est pas le bon chemin pour sh. Le bon chemin est /bin/sh. Vous pouvez vérifier cela avec la whereis shcommande. Et même ainsi, votre travail cron devrait ressembler à:
20 * * * * /home/lucky/myfile.sh
N'oubliez pas de rendre le script exécutable:
chmod +x /home/lucky/myfile.sh
Le chemin où cela semble créer le dossier est /. En effet , le crontabrequiert le chemin complet vers le dossier et les fichiers dans tous les fichiers qu'il exécute.
Donc, le chemin dans myfile.sh devrait être
mkdir <absolutePath>/jh
cd <absolutePath>/jh
20 * * * * /usr/bin/sh /home/lucky/myfile.shCette ligne est correcte bien que vous deviez vérifier le chemin pour voir si sh existe dans / usr / bin / sh ou non (utilisez which shpour voir le chemin où sh existe; le mien était / bin / sh)
Si vous êtes pressé de commencer à écrire crontab, ce lien contient de très bons exemples.
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/