Jump to content

crontab


Recommended Posts

Salut à tous, j'ai un petit probleme dans la commande crontab en association avec un script shell, ca ne marche pas chez moi, bon voila ce que j'ai fais:

1- edition de mon crontab : crontab -u root -e

SHELL=/bin/sh

PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin:/home/viper/bin

*/1 6 3 4 1 /home/viper/test.sh

<escp>:wq!

2- chmod +x test.sh

3- echo "hellOOOO" >> test;

d'abord j'ai placé test.sh sous /home/viper, mais ca n'a pas marché, sous /home/viper/bin non plus

MERCI MERCI MERCI de bien vouloir m'aider

Link to comment
Share on other sites

Euh, si ton fichier test.sh ne contient que "hellOOOO", ça risque pas de marcher effectivement... Un script contient des commandes shell.

Et "HellOOOO" n'en est pas une :chinois:

edit: en plus ta commande "echo "hellOOOO" >> test;" écrit dans un fichier test, qui est différent de test.sh

Link to comment
Share on other sites

tu as voulu faire quoi avec "*/1 6 3 4 1" ?

*/1 déjà à mon avis il doit pas aimer, */2 c'est une minute sur 2 */1 = ?

donc admettons que ça marche :

à 6h, 6h 01, 6h 02 ...

le 3 avril ( 3 4 )

qui tombe un lundi ? muumf

si c'est pour lancer une commande ponctuellement va plutot du côté de "at"

Link to comment
Share on other sites

Avant même d'ajouter ton script dans une tâche CRON, assures-toi que ce script fonctionne bien !

Attention avec le mot "test" tout court, il existe une commande avec Linux qui s'appelle "test" ou les [ ] qui fait la même chose.

Lance ton script "test.sh" directement en ligne de commande comme ci: ./test.sh et regarde si ça marche ! Si c'est ok, ensuite ajoute le dans CRONTAB et ça devrait parfaitement fonctionner (NOTE: Sans ajouter PATH, tu peux copier ton script dans le dossier /bin pour qu'il devienne exécutable).

Et comme Sandeman dit, assures-toi que */1 fonctionne !

Link to comment
Share on other sites

Merci pour vos reponses:

1-

Euh, si ton fichier test.sh ne contient que "hellOOOO", ça risque pas de marcher effectivement... Un script contient des commandes shell.

Et "HellOOOO" n'en est pas une

edit: en plus ta commande "echo "hellOOOO" >> test;" écrit dans un fichier test, qui est différent de test.sh

c'est celle là qui a tourné chez moi contrairement a tout ce qui est *.sh

2-

Maintenant et compte tenu que mes *.sh marchent sur crontab, je cherche s'il y'a moyen de jouer sur les parametres de declenchement de la crontab càd qu'à partir d'une interface graphique on peut determiner la date de declenchement de certaines commandes, vu que la crontab n'est pas un fichier donc je pense pas que ca pouvait ce faire, SVP eclairez moi, j'en ai vraiement besoin.

et MERCI encore d'avance.

Link to comment
Share on other sites

  • 2 weeks later...

Tout est une fichier sous Linux !

crontab enregistre les données dans /var/spool/cron/"user", mais il faut toujours utiliser crontab -e pour bien fonctionner !

Pour ce qui est de l'interface graphique, si tu parles d'être en X (Gnom ou KDE) rien ne t'empêche d'ouvrir un terminal pour exécuter crontab.

D'un autre côté, il est tout à fait possible de contrôler de façon graphique crontab, soit en trouvant une application tout déjà fait ou en te fabricant une application en Perl, TCL/Tk, Gtk, ... mais là faut être programmeur :transpi:

Je te donne comme exemple, l'interface graphique Webmin, elle permet de changer les tâches sans problème.

PS, si c'est à cause que tu ne comprends pas très bien comment avec crontab -e écrire la commande pour spécifier la date, l'heure, clause, ... pour que tes scripts se lance ont peut t'aider. Quand on a compris, c'est assez simple et c'est très flexible comme possibilité (plus que AT / planificateur de tâches de Windows).

Fait un man crontab !

Link to comment
Share on other sites

crontab enregistre les données dans /var/spool/cron/"user", mais il faut toujours utiliser crontab -e pour bien fonctionner !

c'est ce qui est écrit dans le man, mais j'ai toujours édité à la main et ça fonctionne pour moi. Qu'est ce que ça peut poser comme problème (vu que si je ne me trompe c'est un simple fichier texte dont les lignes semblent indépendantes) ?

Link to comment
Share on other sites

crontab enregistre les données dans /var/spool/cron/"user", mais il faut toujours utiliser crontab -e pour bien fonctionner !

c'est ce qui est écrit dans le man, mais j'ai toujours édité à la main et ça fonctionne pour moi. Qu'est ce que ça peut poser comme problème (vu que si je ne me trompe c'est un simple fichier texte dont les lignes semblent indépendantes) ?

Ça je sais pas exactement... mais c'est peut être une question de relation avec d'autres fichiers/droits/etc... ils n'ont surement pas inventé cet éditeur juste pour le fun. Peut-être que le support de crontab pourrait y répondre !

J'avoue avoir déjà édité moi aussi le fichier /var/spool/cron/userenquestion et ça marchait très bien.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...