CRONTAB execute la moitié d'un script shell

Fermé
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007 - 1 juin 2007 à 10:48
 rivalgro - 20 oct. 2010 à 18:25
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
A voir également:

47 réponses

dubcek Messages postés 18733 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 juillet 2024 5 616
1 juin 2007 à 10:55
cron tourne avec un environement minimum. Il n'a donc pas la variable DISPLAY définie pour demarrer Mozilla.
Dans le shell, faire echo $DISPLAY et mettre cette valeur dans le script:
mozilla-firefox -display XXX www.google.fr
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
1 juin 2007 à 11:06
merci d'avoir répondu =)

mais cela ne fonctionne toujours pas ...

j'ai fais :

[root@localhost user1]# echo $DISPLAY
:0.0

donc j'ai :

#!/bin/sh


killall -9 /usr/lib/mozilla-firefox-1.0.6/mozilla-firefox-bin
mozilla-firefox -display 0.0 www.google.fr

Et cela ne fonctionne pas, dsl je débute sous linux .
Que puis je faire ?
dubcek Messages postés 18733 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 juillet 2024 5 616
1 juin 2007 à 12:26
les : sont importants
mozilla-firefox -display :0.0 www.google.fr

sinon, récupérer les erreurs:
mozilla-firefox -display :0.0 www.google.fr 1>/tmp/log 2>&1

et voir dans /tmp/log
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
1 juin 2007 à 14:31
j'ai fais ce que tu ma dit pour la recup des érreur , j'obtient ceci:

"log2" 0L, 0C
E576: viminfo: '>' manquant à la ligne 0^@
E576: viminfo: '>' manquant à la ligne ^I+^I1^I5^@
E576: viminfo: '>' manquant à la ligne ^I+^I2^I32^@
E576: viminfo: '>' manquant à la ligne ^I+^I3^I32^@
E576: viminfo: '>' manquant à la ligne ^I+^I4^I24^@
E576: viminfo: '>' manquant à la ligne ^I+^I2^I8^@
E576: viminfo: '>' manquant à la ligne ^I+^I3^I8^@
E576: viminfo: '>' manquant à la ligne ^I+^I1^I3^@
Appuyez sur ENTRÉE ou tapez une commande pour continuer


je précise aussi que l'orsque je veux éditer crontab ( crontab -e ) j'ai le même message idem quand j'enregistre les modifications mais les modfications sont prises .

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18733 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 juillet 2024 5 616
1 juin 2007 à 14:48
Ca c'est des erreurs vim, le fichier .viminfo .vimrc ou .exrc doit être mauvais.

attention aux espaces:
mozilla-firefox -display :0.0 www.google.fr"espace" 1>/tmp/log"espace" 2>&1

et qu'affiche cat /tmp/log
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
1 juin 2007 à 16:59
le cat /tmp/log n'affiche rien .

merci quand meme de te pencher sur mon cas je suis sur qu'en à beaucoup et surtout des plus complexes que celui ci.

moi qui pensais qu'on me traittrais lol parce que c'est du basique de chez basique ... bin le basique il me chauffe la =)
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
2 juin 2007 à 10:17
Salut,

chez moi ça marche
#!/bin/bash
killall -9 firefox-bin
/usr/bin/firefox --display=:0.0 'www.google.fr'&


les : sont importants
mozilla-firefox -display :0.0 www.google.fr

dubcek a oublié un tiret
--display au lieu de -display
dubcek Messages postés 18733 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 juillet 2024 5 616
2 juin 2007 à 14:49
Affiche plus d'info, modifier le script:

#!/bin/sh
set -x
set
killall -9 /usr/lib/mozilla-firefox-1.0.6/mozilla-firefox-bin
mozilla-firefox -display :0.0 www.google.fr

modifer le crontab

*/1 * * * * /home/user1/Desktop/script.sh >/tmp/log 2>&1
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
4 juin 2007 à 09:20
merci a vous mais alors je met

mozilla-firefox -display :0.0 www.google.fr **


ou

/usr/bin/firefox --display=:0.0 'www.google.fr'&

car la , ya un =

J'ai formaté la machine linux car le problème de vim la affiche de temps en temps qu'il enregistre pas les modif dans le crontab.

Donc je vais reprendre a zéro.
Merci encore.
dubcek Messages postés 18733 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 juillet 2024 5 616
4 juin 2007 à 10:58
Linux, c'est pas Windaube ... on ne reformatte pas pour un problem vim, il faut corriger les fichiers de démarrage vim

Les 2 notations display sont valides, la mienne étant la notation X d'origine.

un job cron n'a pas l'environnement qu'un utilisateur a après un login. Essayer de mettre dans le script : . .profile
si le login shell est sh, ksh ou bash
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
4 juin 2007 à 11:01
enfait j'ai du céder le pc a un stagiaire dc je vais réinstaller linux sur un autre pc c'est pour cela .

à la base c'était un script.sh, que veut tu dire par :

" un job cron n'a pas l'environnement qu'un utilisateur a après un login. Essayer de mettre dans le script : . .profile
si le login shell est sh, ksh ou bash "


?
Merci d'avance.
dubcek Messages postés 18733 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 juillet 2024 5 616
4 juin 2007 à 11:08
Au login, le shell exécute des fichiers de config, .profile, .cshrc, .kshrc qui vont définir tout l'environnement: PATH, et plein d'autres variables, affichées par la commande set.
Le cron n'exécute pas ces fichiers et donc le script tourne avec le minimum et il peut manquer des définitions. On peut le voir avec la commande set dans le script.
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
4 juin 2007 à 12:01
ok je vais tester ce que tu m'a donner dans le message précédent vers 12h30 maxi 13h donc je vous redirai quoi

Merci encore
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
6 juin 2007 à 09:47
re Bonjour,

je n'ai pas pu tester cela mais ce midi c'est certains je test et je te dis quoi, par contre pour ce que tu m'a dit :

un job cron n'a pas l'environnement qu'un utilisateur a après un login. Essayer de mettre dans le script : . .profile


le .profile je le place ou dans le script ?

merci d'avance.
dubcek Messages postés 18733 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 juillet 2024 5 616
6 juin 2007 à 13:59
au début, après le #! ... mettre:
.<espace> .profile
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
7 juin 2007 à 10:12
je n'ai pas rajouter le .profile et cela ne fonctionne toujours pas donc je vais tenter avec on verra bien.
dubcek Messages postés 18733 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 juillet 2024 5 616
7 juin 2007 à 10:42
Il doit bien avoir des messages. Normalement, si il n'y a pas de redirections, cron envoie un mail.
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
7 juin 2007 à 10:46
euh je pense que tu t'es tromper de poste non ?
dubcek Messages postés 18733 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 juillet 2024 5 616
7 juin 2007 à 10:53
non, non
julien62190 Messages postés 28 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 11 juin 2007
7 juin 2007 à 10:55
euh je veux pas envoyer de mail j'aimerais juste que crontab ouvre firefox lol toutes les 30min sur un site donné et tous les jours a 5h00 du matin , pourquoi cron devrait me renvoyer un mail ?