Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/12/2007, 15h13   #1
Candidat au titre de Membre du Club
 
Inscription : août 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 34
Points : 10
Points : 10
Par défaut Problème au niveau de cron

Bonjour a tous,

J'ai mis en place un script qui me permet de vérifier depuis un ordinateur distant si mon service samba fonctionne sur mon controleur et dans le cas contraire demarre le service sur mon pc.

Ce script fait appel a ssh entre autre et fonctionne très bien tant que je le lance à la main mais il refuse de fonctionner si je le met dans le cron.

je fais donc appel à votre aide pour essayer de m'aider a résoudre ce problème.

Voici mon cron :

Citation:
*/5 * * * * root sh /home/toto/script
et le script :

Citation:
#!/bin/bash
(/usr/bin/ssh root@CPD1 "service smb status>status.txt")||mail -s ErrorCpd1 toto@titi.fr << EOF
CPD1 Draf43 Tombé
EOF
/usr/bin/ssh root@CPD1 "scp status.txt root@linux:/home/rsi/Desktop/"
/usr/bin/ssh root@CPD1 "rm -f status.txt"
/usr/bin/ssh root@CPD1 "exit"
export foo=`cat /home/rsi/Desktop/status.txt|head -1|awk '{ print $NF }'`
if [ $foo = "arrêté" ]; then service smb start; fi
if [ $foo = "d'exécution..." ]; then service smb stop; fi
rm -f /home/rsi/Desktop/status.txt
Merci d'avance du coup de main car ca fait maintenant une semaine que je me casse la tête dessus sans résultat

Amitiés

loupsolitaire
loupsolitaire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 14h43   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 499
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 499
Points : 9 685
Points : 9 685
Bonjour,

As-tu regardé les logs de la crontab ? Si oui, que te disent-ils ?

As-tu essayé en mettant tous les chemins en absolus (/bin/cat au lieu de cat, ...) ?
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 15h29   #3
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 311
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 311
Points : 8 592
Points : 8 592
A tous les coups c'est le grand classique des variables d'environnement qui ne sont pas définies correctement. Essaie en mettant ceci en haut de ton script :
Code :
1
2
3
#!/bin/bash
. $HOME/.bash_profile
(/usr/bin/ssh root@CPD1 ...
Dans ton cas, c'est peut-être .profile et pas .bash_profile.

Cron a la particularité d'appeler les commandes avec un shell ultra minimaliste ne contenant surtout pas les variables d'environnement définies dans les fichier .profile ou .bash_profile de l'utilisateur. Il faut donc redéfinir systématiquement ces variables d'environnement en sourçant par exemple les fichiers .profile ou .bash_profile dans le script ou la ligne cron.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h30.


 
 
 
 
Partenaires

Hébergement Web