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 à:
Awsome, m'a sauvé la vie :) Le mien fonctionne bien comme ça. 0 7 * * * / bin / sh /root/Scripts/command.sh> / dev / null 2> & 1
Louwki
5
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.
Réponses:
Ce n’est pas correct pour un script défini comme travail cron:
Vous devriez donner le chemin complet où le
jh
ré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 à:
Aussi
/usr/bin/sh
n'est pas le bon chemin poursh
. Le bon chemin est/bin/sh
. Vous pouvez vérifier cela avec lawhereis sh
commande. Et même ainsi, votre travail cron devrait ressembler à:N'oubliez pas de rendre le script exécutable:
la source
Le chemin où cela semble créer le dossier est
/
. En effet , lecrontab
requiert 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.sh
Cette ligne est correcte bien que vous deviez vérifier le chemin pour voir si sh existe dans / usr / bin / sh ou non (utilisezwhich sh
pour 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/
la source