Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1795 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

   Executer un script à intervalle de temps

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Executer un script à intervalle de temps

n°721510
kartnico
un pour tous et tous pour un
Posté le 26-08-2005 à 01:09:09  profilanswer
 

Bonsoir à tous,
 
Je tourne actuellement sur une distribution Debian. Mon routeur est un D-link 624+. Ma carte wifi une MSI. Le module wifi est ndiswrapper.
 
Je souhaite exécuter un script toutes les minutes. En effet, ce script permet de connecter mon serveur au routeur. Car mon routeur a quelques coupures, de temps à autres, et déconnecte donc mon serveur du web. Je suis donc obligé de relancer le script manuellement.
 
J'ai essayé toutes les commandes possibles avec crontab. En effet je faisais :
 
crontab -e  --> pour editer la crontab en root.
 
*/1 * * * * /root/script_wifi
 
J'ai essayé plusieurs chemins, j'ai rajouté le .sh au script, mais toujours rien. Dans mes logs, je vois que la commande est exécutée toutes les minutes ( CMD (/root/script_wifi) ) , mais mon serveur ne se reconnecte pas au routeur.
 
Voici mon script_wifi:
 
#!/bin/sh
 
ifconfig wlan0 down
 
ifconfig wlan0 up
 
iwconfig wlan0 essid "mon_essid"
 
iwconfig wlan0 key "ma_key_wep"
 
dhclient wlan0
 
 
Merci d'avance.
 
 
 
http://kartzone.no-ip.org


Message édité par kartnico le 26-08-2005 à 04:56:03
mood
Publicité
Posté le 26-08-2005 à 01:09:09  profilanswer
 

n°721519
Riot
Buy me a riot
Posté le 26-08-2005 à 02:06:01  profilanswer
 

chmod +x script_wifi.sh ???

n°721529
goldyfruit
Je me lève et je confirme !
Posté le 26-08-2005 à 03:33:50  profilanswer
 

Son script et bel est bien éxécutable, quand il le lance manuellement il y a aucun problème :/


---------------
http://wiki.incloudus.com/display/DOC | http://blog.incloudus.com | http://wiki.goldzoneweb.info | http://www.stendhalclub.fr
n°721530
kartnico
un pour tous et tous pour un
Posté le 26-08-2005 à 03:34:16  profilanswer
 

Oui je l'ai bien sur rendu exécutable. Car je peux l'exécuter manuellement.
 
Quand je le fais manuellement, tout fonctionne.
 
Mais avec crontab rien !

n°721532
Taz
bisounours-codeur
Posté le 26-08-2005 à 04:04:01  profilanswer
 

cron envoie des mails au root (et ses alias), quand tu as ce genre d'erreurs, c'est important de les lire. Cela dit le DHCP est sensé gérer ce genre de situation tout seul.

n°721534
kartnico
un pour tous et tous pour un
Posté le 26-08-2005 à 04:57:59  profilanswer
 

Bah j'ai aucun mail envoyé par crontab. Je suppose que ma commande est bonne. En ce qui concerne le DHCP apparement il ne fait rien.

n°721546
jlighty
Posté le 26-08-2005 à 09:19:25  profilanswer
 

pour toutes tes commandes, iwconfig, ifconfig... rajoute le chemin complet ex:
ifconfig -> /sbin/ifconfig
ensuite tu peux aussi rediriger les erreurs dans un fichier
 
 
* * * * * /root/script_wifi  2> /root/log_script


Message édité par jlighty le 26-08-2005 à 09:20:13
n°721579
0liv
Posté le 26-08-2005 à 11:01:49  profilanswer
 

salut,
 
dans tes scripts, n'hésite pas à utiliser des chemins absolus:
/sbin/ifconfig au lieu de ifconfig tout seul ;)
 
Oliv'

n°721696
kartnico
un pour tous et tous pour un
Posté le 26-08-2005 à 14:00:54  profilanswer
 

Je test :) . Mais je rappel que manuellement le script fonctionne.

n°721700
l0ky
Posté le 26-08-2005 à 14:03:27  profilanswer
 

Question con, c'est dans quel crontab que tu as rajouté ta ligne, celle d'un utilisateur simple ou dans celui de root ?

mood
Publicité
Posté le 26-08-2005 à 14:03:27  profilanswer
 

n°721721
jlighty
Posté le 26-08-2005 à 14:29:27  profilanswer
 

Citation :

J'ai essayé toutes les commandes possibles avec crontab. En effet je faisais :
 
crontab -e  --> pour editer la crontab en root.


j'espère d'apès ce qu'il a dit, qu'il passait en root puis crontab -e

n°721723
jlighty
Posté le 26-08-2005 à 14:30:24  profilanswer
 

kartnico a écrit :

Je test :) . Mais je rappel que manuellement le script fonctionne.


Crontab a toujours des soucis avec $PATH, j'ai toujours été obligé de mettre les noms absolus des fichiers.

n°721731
0liv
Posté le 26-08-2005 à 14:38:17  profilanswer
 

ce qui selon moi est tout à fait normal vu que crontab n'est pas censé avoir de variable d'environnement... alors que quand tu éxécutes un script en user, le script "hérite" des variables d'environnement de l'utilisateur....

n°721735
kartnico
un pour tous et tous pour un
Posté le 26-08-2005 à 14:47:11  profilanswer
 

Je suis en root pour faire crontab -e

n°721738
jlighty
Posté le 26-08-2005 à 14:50:06  profilanswer
 

et ça marche maintenant ?

n°721966
kartnico
un pour tous et tous pour un
Posté le 27-08-2005 à 02:35:35  profilanswer
 

Nan ça foire !

n°721967
kartnico
un pour tous et tous pour un
Posté le 27-08-2005 à 02:35:59  profilanswer
 

Bizarre, car je le répète, le script fonctionne manuellement.

n°721968
Taz
bisounours-codeur
Posté le 27-08-2005 à 04:05:24  profilanswer
 

je le répète : lis tes mails :o

n°721977
jlighty
Posté le 27-08-2005 à 09:36:53  profilanswer
 

as tu redirigé les erreurs dans un fichier ?


Message édité par jlighty le 27-08-2005 à 09:37:05
n°722052
kartnico
un pour tous et tous pour un
Posté le 27-08-2005 à 14:06:19  profilanswer
 

Taz --> Je n'ai aucun mail.
 
Jlighty --> Nan je termine sur /dev/null.
 
Par contre je consulte souvent mes logs. Et il ne se passe rien. Hier j'ai fais deux trois modifications, et le dhcp se met en route toutes les 2 minutes, et il me dit qu'il ne trouve pas d'IP sur l'interface lo . Mais moi je m'en fou de cette interface. Je veux qu'il cherche pour la wlan0 .


Message édité par kartnico le 27-08-2005 à 14:06:45
n°722053
jlighty
Posté le 27-08-2005 à 14:08:49  profilanswer
 

kartnico a écrit :

Taz --> Je n'ai aucun mail.
 
Jlighty --> Nan je termine sur /dev/null.
 
Par contre je consulte souvent mes logs. Et il ne se passe rien. Hier j'ai fais deux trois modifications, et le dhcp se met en route toutes les 2 minutes, et il me dit qu'il ne trouve pas d'IP sur l'interface lo . Mais moi je m'en fou de cette interface. Je veux qu'il cherche pour la wlan0 .


pourquoi rediriger les erreurs dans /dev/null ? si tu veux savoir pourquoi ça ne marche pas, redirige les erreurs dans un fichier (valide)

n°722057
kartnico
un pour tous et tous pour un
Posté le 27-08-2005 à 14:14:32  profilanswer
 

Mais je l'ai fais. Le problème c'est qu'il n'y a pas d'erreur. La commande à l'air d'être exécutée. Mais le script ne fonctionne pas.
 
Voici un screen : Sur ce screen, j'ai retiré ma crontab.C'est juste pour vous montrer ce que fais mon dhcp.
 
http://kartzone.free.fr/logs.JPG

n°722072
jlighty
Posté le 27-08-2005 à 14:43:00  profilanswer
 

contenu de la crontab ?
* * * * * /root/script_wifi > fichier-trie 2>&1

n°722206
kartnico
un pour tous et tous pour un
Posté le 27-08-2005 à 22:52:28  profilanswer
 

Je vais mettre cela dans ma crontab. Je te fais un screen de la log d'ici cette nuit.
 
+

n°722209
jlighty
Posté le 27-08-2005 à 22:54:51  profilanswer
 

pas besoin de faire un screen, un copier/coller du texte suffira ;)


Message édité par jlighty le 28-08-2005 à 21:03:07
n°722210
kartnico
un pour tous et tous pour un
Posté le 27-08-2005 à 22:58:31  profilanswer
 

;) tkt :p  En attendant voici un truc qui devrait te rassurer de ma bonne foie :
 
http://nbjnicojulie.free.fr/2.JPG
 
http://nbjnicojulie.free.fr/3.JPG


Message édité par kartnico le 27-08-2005 à 22:58:46
n°722223
kartnico
un pour tous et tous pour un
Posté le 27-08-2005 à 23:49:49  profilanswer
 

Alors !
 
J'ai changé la configuration de mon routeur. Et plus exactement le DHCP serveur. Il attribut une adresse IP fixe à l'adresse MAC du serveur. Apparement, maintenant le script exécuté par la crontab fonctionne.
 
Donc je récapitule:
 
crontab éditée en root: crontab -e.
 
* * * * * /root/script_wifi.sh > log_wifi 2>&1
 
Fichier script_wifi.sh:
 
/sbin/ifconfig wlan0 down
/sbin/ifconfig wlan0 up
/sbin/iwconfig wlan0 essid "mon_essid"
/sbin/iwconfig wlan0 key "ma_key"
/sbin/dhclient wlan0
 
 
Merci à tous. jlighty et taz surtout :)

n°722455
Taz
bisounours-codeur
Posté le 28-08-2005 à 21:00:11  profilanswer
 

si cron échoue, tu as forcément un mail.

n°722456
l0ky
Posté le 28-08-2005 à 21:01:49  profilanswer
 

sauf s'il a mis sa vairable MAILTO à "" [:dawa]

n°722505
kartnico
un pour tous et tous pour un
Posté le 28-08-2005 à 23:03:09  profilanswer
 

oki :D . Mais c'est bon cela fonctionne now !

n°722542
Taz
bisounours-codeur
Posté le 29-08-2005 à 09:30:02  profilanswer
 

l0ky a écrit :

sauf s'il a mis sa vairable MAILTO à "" [:dawa]


When executing commands, any output is mailed to the owner of the crontab (or to the user named in the MAILTO  environment variable  in  the  crontab, if such exists).


 
un mail est toujours envoyé.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

   Executer un script à intervalle de temps

 

Sujets relatifs
[Debian] Où mettre mon script iptables ?[RESOLU] Shell script, espaces et noms de fichiers
shell script probleme avec suScript Unix
Script XchatScript VBS sous linux ?
[script] ça marche comment??Rech:Le script iptables parfait pour protéger un serveur apache et ftp
[débutant] problème script bashProblème de script linux!
Plus de sujets relatifs à : Executer un script à intervalle de temps


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR