CRONTAB execute la moitié d'un script shell
julien62190
Messages postés
28
Statut
Membre
-
rivalgro -
rivalgro -
Bonjour,
j'avais posté un message afin d'etre éclairer sur un script trés simpliste qui serait exécuter avec crontab sous linux. Mais ce n'est pas grave le script que j'ai fonctionne mais je m'explique :
#!/bin/sh
killall -9 /usr/lib/mozilla-firefox-1.0.6/mozilla-firefox-bin
mozilla-firefox www.google.fr
Voila mon problème je dois lancer une tâche planifiée sous linux qui ferme la page actuelle de mozilla et en ouvre une nouvelle ( ici j'ai pris l'exemple de google.fr mais ça n'a pas d'importance c'est pour expliquer ) et cela tous les jours a 5h du matin .
je me log donc en root et je tape crontab -e , voila ce que j'y met :
*/1 * * * * /home/user1/Desktop/script.sh
ps : ici j'ai fait en sorte d'éxécuter le script toutes les minutes pour voir si cela fonctionne .
Enfait le script ferme bien la page mozilla mais il n'ouvre pas google.fr juste aprés avoir fermé la précédente .
or si je clique sur mon script.sh il ferme la page mozillia et ouvre la nouvelle .
Donc where is the problem sir ? ^^
Merci d'avance
j'avais posté un message afin d'etre éclairer sur un script trés simpliste qui serait exécuter avec crontab sous linux. Mais ce n'est pas grave le script que j'ai fonctionne mais je m'explique :
#!/bin/sh
killall -9 /usr/lib/mozilla-firefox-1.0.6/mozilla-firefox-bin
mozilla-firefox www.google.fr
Voila mon problème je dois lancer une tâche planifiée sous linux qui ferme la page actuelle de mozilla et en ouvre une nouvelle ( ici j'ai pris l'exemple de google.fr mais ça n'a pas d'importance c'est pour expliquer ) et cela tous les jours a 5h du matin .
je me log donc en root et je tape crontab -e , voila ce que j'y met :
*/1 * * * * /home/user1/Desktop/script.sh
ps : ici j'ai fait en sorte d'éxécuter le script toutes les minutes pour voir si cela fonctionne .
Enfait le script ferme bien la page mozilla mais il n'ouvre pas google.fr juste aprés avoir fermé la précédente .
or si je clique sur mon script.sh il ferme la page mozillia et ouvre la nouvelle .
Donc where is the problem sir ? ^^
Merci d'avance
A voir également:
- CRONTAB execute la moitié d'un script shell
- Classic shell - Télécharger - Personnalisation
- Moitié a4 - Guide
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
47 réponses
C'est cron qui envoie tout ce qui sort de la commande . C'est dans le manuel, c'est une fonctionalité de cron. Trouver les messages d'erreur aide beaucoup !! :-)
In addition to LOGNAME, HOME, and SHELL, cron(8) will look at MAILTO if it has any reason to send mail as a result of running commands in ``this'' crontab. If MAILTO is defined (and non-empty), mail is sent to the user so named. If MAILTO is defined but empty (MAILTO=""), no mail will be sent. Otherwise mail is sent to the owner of the crontab
In addition to LOGNAME, HOME, and SHELL, cron(8) will look at MAILTO if it has any reason to send mail as a result of running commands in ``this'' crontab. If MAILTO is defined (and non-empty), mail is sent to the user so named. If MAILTO is defined but empty (MAILTO=""), no mail will be sent. Otherwise mail is sent to the owner of the crontab
biensur mais je n'ai définit nul par mon adresse email ... lol et dsl je suis débutant linux et crontab =)
je ferais une redirection avec le */1 * * * * /home/user1/Desktop/script.sh >/tmp/log 2>&1
et je poste cela ce midi
et je poste cela ce midi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re bonjour, je craque , sa fait une semaine que je cherche pour une broutille voila le script :
#!/bin/sh . .profile
killall -9 /usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin
/usr/bin/mozilla-firefox --display :0.0 www.google.fr
et voici ce que j'ai quand je tape crontab -e :
*/1 * * * * /home/agatelocal/Desktop/script.sh
cela fonctionne toujours pas , et mon stage se finit dans une semaine c'est la derniere chose qu'il me reste a faire =(
Merci d'avance pour votre aide
#!/bin/sh . .profile
killall -9 /usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin
/usr/bin/mozilla-firefox --display :0.0 www.google.fr
et voici ce que j'ai quand je tape crontab -e :
*/1 * * * * /home/agatelocal/Desktop/script.sh
cela fonctionne toujours pas , et mon stage se finit dans une semaine c'est la derniere chose qu'il me reste a faire =(
Merci d'avance pour votre aide
Salut,
*Une première chose qu'il serai bien de savoir, ce serait de vérifier si :
1. C'est ta 2e ligne qu'il ne supporte pas (problème lors du lancement de cette commande)
ou si
2. C'est "juste" la 2e ligne qu'il ignore (il n'execute de toutes façons que la première ligne)
Donc, ce que tu peux faire, c'est de
- lancer un programme (thunderbird par exemple)
- rajouter un killall de ce programme dans ton script
*Sinon, essaie aussi une chose : dans ton crontab, essaie ça :
*Une première chose qu'il serai bien de savoir, ce serait de vérifier si :
1. C'est ta 2e ligne qu'il ne supporte pas (problème lors du lancement de cette commande)
ou si
2. C'est "juste" la 2e ligne qu'il ignore (il n'execute de toutes façons que la première ligne)
Donc, ce que tu peux faire, c'est de
- lancer un programme (thunderbird par exemple)
- rajouter un killall de ce programme dans ton script
#!/bin/sh killall -9 /usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin killall -9 thunderbirdSi thunderbird, se ferme bien, alors ça veut déjà dire que la 2e ligne est bien lancée.
*Sinon, essaie aussi une chose : dans ton crontab, essaie ça :
*/1 * * * agatelocal /home/agatelocal/Desktop/script.sh 1>/tmp/log1 2>&1ça permet de lancer la commande sous ton login
Comme ça:
#!/bin/sh
. .profile
killall -9 /usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin
/usr/bin/mozilla-firefox --display :0.0 www.google.fr
crontab -l :
*/1 * * * * /home/agatelocal/Desktop/script.sh 1>/tmp/log1 2>&1
#!/bin/sh
. .profile
killall -9 /usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin
/usr/bin/mozilla-firefox --display :0.0 www.google.fr
crontab -l :
*/1 * * * * /home/agatelocal/Desktop/script.sh 1>/tmp/log1 2>&1
salut, meme pas la peine de charger tout le profile : ça change legerement celon
les distributions !
tu peux mettre au debut
DISPLAY=:0.0
comme on avais dit au debut avec les variables d'environnement
les distributions !
tu peux mettre au debut
DISPLAY=:0.0
comme on avais dit au debut avec les variables d'environnement
salut, meme pas la peine de charger tout le profile : ça change legerement celon
les distributions !
tu peux mettre au debut
DISPLAY=:0.0
comme on avait dit au debut avec les variables d'environnement
les distributions !
tu peux mettre au debut
DISPLAY=:0.0
comme on avait dit au debut avec les variables d'environnement
merci pour vos réponses, j'ai tester ce que tu m'a dit MrCLAY
à savoir mon script.sh :
#!/bin/sh
killall -9 /usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin
killall -9 kwrite
mozilla-firefox google.fr
J'ai rendu ce script éxecutable donc si je clique dessus ( comme windows ) il ferme mozilla et kwrite et réouvre mozilla sur google mais le crontab ne fonctionne pas ...
je veux juste tester toutes les minutes executer le script aprés je changerais le temps si cela fonctionne .
Je fais ces tests sur une autres machines nommée user1 ( plus agatelocal)
donc dans le crontab -e j'ai ceci :
*/1 * * * * user1 /home/user1/Desktop/script.sh 1>/tmp/log1 2>&1
Les modifications sont prises en compte car :
[root@sandrine-28t8co etc]# crontab -e
crontab: installing new crontab
[root@sandrine-28t8co etc]#
Je vais voir ce qui se trouve dans le log1 et voici ce qu'il me dit :
/bin/sh: user1: command not found
J'ai tester en enlevant le user1 :
*/1 * * * * /home/user1/Desktop/script.sh 1>/tmp/log1 2>&1
Alors mozilla est fermé, kwrite est fermé mais mozilla ne s'ouvre pas ...
Que dois je faire ?
Merci d'avance.
à savoir mon script.sh :
#!/bin/sh
killall -9 /usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin
killall -9 kwrite
mozilla-firefox google.fr
J'ai rendu ce script éxecutable donc si je clique dessus ( comme windows ) il ferme mozilla et kwrite et réouvre mozilla sur google mais le crontab ne fonctionne pas ...
je veux juste tester toutes les minutes executer le script aprés je changerais le temps si cela fonctionne .
Je fais ces tests sur une autres machines nommée user1 ( plus agatelocal)
donc dans le crontab -e j'ai ceci :
*/1 * * * * user1 /home/user1/Desktop/script.sh 1>/tmp/log1 2>&1
Les modifications sont prises en compte car :
[root@sandrine-28t8co etc]# crontab -e
crontab: installing new crontab
[root@sandrine-28t8co etc]#
Je vais voir ce qui se trouve dans le log1 et voici ce qu'il me dit :
/bin/sh: user1: command not found
J'ai tester en enlevant le user1 :
*/1 * * * * /home/user1/Desktop/script.sh 1>/tmp/log1 2>&1
Alors mozilla est fermé, kwrite est fermé mais mozilla ne s'ouvre pas ...
Que dois je faire ?
Merci d'avance.
Tu disais...
"
[root@sandrine-28t8co etc]# crontab -e
crontab: installing new crontab
[root@sandrine-28t8co etc]#
Je vais voir ce qui se trouve dans le log1 et voici ce qu'il me dit :
/bin/sh: user1: command not found
J'ai tester en enlevant le user1 :
Rectification pour le code que je t'ai donné : il n'y avait (en tout que 4 "étoiles") :
(tu en as mis 5)
En fait, je remplace une des "*" par "agatelocal", ce qui signifie que c'est cet utilisateur là qui lance l'action.
Sinon, à la place de ". .profile", essaie de mettre "export DISPLAY=':0.0'" ?
ça donnerait :
"
*/1 * * * * user1 /home/user1/Desktop/script.sh 1>/tmp/log1 2>&1Les modifications sont prises en compte car :
[root@sandrine-28t8co etc]# crontab -e
crontab: installing new crontab
[root@sandrine-28t8co etc]#
Je vais voir ce qui se trouve dans le log1 et voici ce qu'il me dit :
/bin/sh: user1: command not found
J'ai tester en enlevant le user1 :
*/1 * * * * /home/user1/Desktop/script.sh 1>/tmp/log1 2>&1"
Rectification pour le code que je t'ai donné : il n'y avait (en tout que 4 "étoiles") :
*/1 * * * agatelocal /home/agatelocal/Desktop/script.sh 1>/tmp/log1 2>&1
(tu en as mis 5)
En fait, je remplace une des "*" par "agatelocal", ce qui signifie que c'est cet utilisateur là qui lance l'action.
Sinon, à la place de ". .profile", essaie de mettre "export DISPLAY=':0.0'" ?
ça donnerait :
#!/bin/sh export DISPLAY=':0.0' killall -9 /usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin killall -9 thunderbird
nouvelle érreur si j'ai ouvert mozzila et kwrite le script les ferme comme prévu et dans le log c'est marqué sa :
(mozilla-firefox-bin:26368): Gtk-WARNING **: cannot open display:
Comme je n'y comprend rien je m'en remet a vous =)
Merci
PS : j'ai tenter de lancer konqueror a la place de mozilla et cela ne fonctionne pas non plus...
De même que :
#!/bin/sh
mozilla-firefox www.google.fr
ne fonctionne pas ... je commence a croire que je suis maudit c'est pourtant simple mais je n'y arrive pas...
(mozilla-firefox-bin:26368): Gtk-WARNING **: cannot open display:
Comme je n'y comprend rien je m'en remet a vous =)
Merci
PS : j'ai tenter de lancer konqueror a la place de mozilla et cela ne fonctionne pas non plus...
De même que :
#!/bin/sh
mozilla-firefox www.google.fr
ne fonctionne pas ... je commence a croire que je suis maudit c'est pourtant simple mais je n'y arrive pas...
Salut,
Bon, si on a un message d'erreur de firefox, c'est déjà un premier grand pas ;)
Donc, essaie ça, maintenant... c'est une petite "compil" de tout ce qui a été dit avant...
dans /etc/crontab :
dans /home/user1/Desktop/script.sh :
Et ensuite, regarde d'éventuels messages d'erreur dans :
- /tmp/log
- /var/log/syslog
Hope it helps ;)
Bon, si on a un message d'erreur de firefox, c'est déjà un premier grand pas ;)
Donc, essaie ça, maintenant... c'est une petite "compil" de tout ce qui a été dit avant...
dans /etc/crontab :
*/2 * * * * user1 /home/user1/Desktop/script.sh >/tmp/log 2>&1
dans /home/user1/Desktop/script.sh :
#!/bin/bash killall -9 flock-bin /usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin --display=:0.0 'www.google.fr'&
Et ensuite, regarde d'éventuels messages d'erreur dans :
- /tmp/log
- /var/log/syslog
Hope it helps ;)
et en exécutant:
xhost +`hostname`
pour autoriser l'accès au display X ?
Tout est fait comme root ?
Si oui, y a t-il un fichier /.Xauthority ?
xhost +`hostname`
pour autoriser l'accès au display X ?
Tout est fait comme root ?
Si oui, y a t-il un fichier /.Xauthority ?
bonjour, dsl je suis débutant mais tu veux dire quoi par :
et en exécutant:
xhost +`hostname`
??si c'est de le taper dans le terminal , voici ce que j'obtient :
root@localhost julen]# xhost +`hostname`
localhost being added to access control list
et en exécutant:
xhost +`hostname`
??si c'est de le taper dans le terminal , voici ce que j'obtient :
root@localhost julen]# xhost +`hostname`
localhost being added to access control list
salut , pour la reponse :
root@localhost julen]# xhost +`hostname`
localhost being added to access control list
c'est bon, mais je ne vois pas l'interet, ni pour ton probleme,
quand on lance xhost +adresse ip
par ex, xhost +192.168.1.2
tu autorises une personne (qui a une ip de 192.168.1.2) à lancer une application X (graphique) sur ton
bureau ,cad sur ton DISPLAY
pour le crontab, as tu essayé:
DISPLAY=:0.0
*/2 * * * * /usr/bin/firefox-bin google.fr
root@localhost julen]# xhost +`hostname`
localhost being added to access control list
c'est bon, mais je ne vois pas l'interet, ni pour ton probleme,
quand on lance xhost +adresse ip
par ex, xhost +192.168.1.2
tu autorises une personne (qui a une ip de 192.168.1.2) à lancer une application X (graphique) sur ton
bureau ,cad sur ton DISPLAY
pour le crontab, as tu essayé:
DISPLAY=:0.0
*/2 * * * * /usr/bin/firefox-bin google.fr
Bonjour,
si je prend ce que tu ma dit le /tmp/log renvoie ça :
flock-bin: no process killed
/usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin: error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory
si je prend ce que tu ma dit le /tmp/log renvoie ça :
flock-bin: no process killed
/usr/lib/mozilla-firefox-1.0.2/mozilla-firefox-bin: error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory
je viens d'essayer avec un script en perl :
#!/usr/bin/perl
system("killall -9 mozilla-bin");
sleep(1);
system("/usr/bin/mozilla-firefox www.google.fr");
Pour le cron j'ai juste changer le script.sh en script.pl
cela ne fonctionne toujours pas ...
Y aurait il un autre language qui le fasse aussi simplement ?
#!/usr/bin/perl
system("killall -9 mozilla-bin");
sleep(1);
system("/usr/bin/mozilla-firefox www.google.fr");
Pour le cron j'ai juste changer le script.sh en script.pl
cela ne fonctionne toujours pas ...
Y aurait il un autre language qui le fasse aussi simplement ?
Salut,
ce n'est pas un problème de langage
d'ailleurs je ne comprends pas pourquoi tu as des problèmes
dans mon message crontab execute la moitie d un script shell#7
je t'ai dit que ça marche chez moi, et je ne crois qu'il y a des raisons que chez toi ne marche pas
ce n'est pas un problème de langage
d'ailleurs je ne comprends pas pourquoi tu as des problèmes
dans mon message crontab execute la moitie d un script shell#7
je t'ai dit que ça marche chez moi, et je ne crois qu'il y a des raisons que chez toi ne marche pas
alors je fais quoi ,??? j'ai tenter sur une mandriva 2005 au boulot et sur une mandriva 2006 chez moi ....
d'ailleur si je tape /usr/bin/firefox dans un terminal cela ne me l'ouvre pas...
est ce que ce serait possible que la version que j'ai de mozila soit trop vieille pour supporté ce que je lui demande ?
d'ailleur si je tape /usr/bin/firefox dans un terminal cela ne me l'ouvre pas...
est ce que ce serait possible que la version que j'ai de mozila soit trop vieille pour supporté ce que je lui demande ?
Salut,
Déjà il serait bien il me semble de savoir où se trouve "firefox" sur ton système, non ?
Que te renvoie la commande :
Déjà il serait bien il me semble de savoir où se trouve "firefox" sur ton système, non ?
Que te renvoie la commande :
whereis firefox?;-))
si je fais whereis mozilla-firefox je trouve si je fais whereis firefox
[root@localhost user1]# whereis firefox
firefox:
Voila =)
[root@localhost user1]# whereis firefox
firefox:
Voila =)
sa donne :
[root@localhost user1]# whereis mozilla-firefox
mozilla-firefox: /usr/bin/mozilla-firefox /usr/share/man/man1/mozilla-firefox.1.bz2
[root@localhost user1]#
Mais pour revenir aux choses tu penses que c'est mozilla le probleme ? car je n'ai pas fais de lien symbolique , j'ai installer l'os ya pas longtemps et pour chez moi je l'ai installer pour l'occasion.
[root@localhost user1]# whereis mozilla-firefox
mozilla-firefox: /usr/bin/mozilla-firefox /usr/share/man/man1/mozilla-firefox.1.bz2
[root@localhost user1]#
Mais pour revenir aux choses tu penses que c'est mozilla le probleme ? car je n'ai pas fais de lien symbolique , j'ai installer l'os ya pas longtemps et pour chez moi je l'ai installer pour l'occasion.