Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/06/2009, à 10:01

atroxs

probleme avec cron

Bonjours,

J'aimerai exécuter un script avec cron mais je n'arrive pas a le faire marché.

Dans la crontab dans /etc je tape:

53 9    * * *    root    /home/svgbar/svg.sh >/tmp/test.log

Mon script est bien où je l'indique mais je ne vois aucune exécution et aucun résultats appart le fait que le fichier
/tmp/test.log soit créé.

Je n'ai pas l'habitude d'utiliser ce démon alors je ne c'est pas quoi faire aider moi svp .

#2 Le 22/06/2009, à 11:19

Peck

Re : probleme avec cron

Ici tu indique d'exécuter le fiecher à 9h53 tous les jours par root.
Mais quelle crontab édite tu et comment fais-tu ?
Est-ce que le démon cron est bien lancé ?

Hors ligne

#3 Le 22/06/2009, à 11:21

seb0uil

Re : probleme avec cron

Salut,
Que fait ton script ?
As tu bien pensé à charger les variables d'environnement au debut de celui-ci  (part défaut, les scripts lancés par cron ne connaissent pas le PATH par exemple ...)


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#4 Le 22/06/2009, à 11:31

atroxs

Re : probleme avec cron

j'edite celle qui est dans /etc
je ne sais pas s'il est lancé ni comment faire
et je ne savais pas qu'il fallais mettre une variable PATH
C 'est la 1ere fois que je veux utiliser ce démon donc je m'y connais pas trop

#5 Le 22/06/2009, à 11:34

seb0uil

Re : probleme avec cron

Ben quand tu lances ton script en ligne de commande, tu as déjà pas mal de chose de connu par ton shell : toutes les variables d'environnements..
Quand tu lances le même script avec cron, ces variables ne sont pas connu. Il faut donc soit les initialiser, soit faire attention à ne pas les utiliser..


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#6 Le 22/06/2009, à 11:35

atroxs

Re : probleme avec cron

comment on les initialise?

#7 Le 22/06/2009, à 11:44

seb0uil

Re : probleme avec cron

tu peux simplement faire par exemple un

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

au début de ton script.

ptit edit :
Peux tu nous mettre ton script s'il n'est pas trop long ... ?

Dernière modification par seb0uil (Le 22/06/2009, à 11:47)


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#8 Le 22/06/2009, à 11:49

atroxs

Re : probleme avec cron

Comment on sait si sa a marché?

parce que le script ne sait pas executer

#9 Le 22/06/2009, à 11:50

atroxs

Re : probleme avec cron

#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

#**************************************************IMPORTATION DES IP ET DES NOMS D'UTILISATEURS*******************************************************

for i in `cat '/media/C/PROGRAM FILES/EasyPHP 3.0/www/stage/IP.txt'`;
do
for j in `cat '/media/C/PROGRAM FILES/EasyPHP 3.0/www/stage/NomUtilisateur.txt'`;
do

#**************************************************CREATION DES REPERTOIRES DE MONTAGE*******************************************************************

mkdir /tmp/home
mkdir /tmp/notes

#**************************************************MONTAGE DU FICHIER PARTAGÉ**************************************************************************

smbmount //$i/$j/ /tmp/home -o username=svgbar,password=******
smbmount //$i/notes/ /tmp/notes -o username=svgbar,password=******

#**************************************************TEST D'EXISTANCE DU REPERTOIR DU CLIENT*************************************************************

if [ -d /home/$USER/svg/$j ]; 

#**************************************************SI LE FICHIER EXISTE********************************************************************************

then 

#**************************************************ROULEMENT DES VERSIONS SAUVEGARDES ET SUPPRESSION DE LA PLUS VIEILLE********************************

if [ -d /home/$USER/svg/$j/svg.9 ];
then 
rm -r -d /home/$USER/svg/$j/svg.9
mv /home/$USER/svg/$j/svg.8 /home/$USER/svg/$j/svg.9
mv /home/$USER/svg/$j/svg.7 /home/$USER/svg/$j/svg.8
mv /home/$USER/svg/$j/svg.6 /home/$USER/svg/$j/svg.7
mv /home/$USER/svg/$j/svg.5 /home/$USER/svg/$j/svg.6
mv /home/$USER/svg/$j/svg.4 /home/$USER/svg/$j/svg.5
mv /home/$USER/svg/$j/svg.3 /home/$USER/svg/$j/svg.4
mv /home/$USER/svg/$j/svg.2 /home/$USER/svg/$j/svg.3
mv /home/$USER/svg/$j/svg.1 /home/$USER/svg/$j/svg.2
mv /home/$USER/svg/$j/svg.0 /home/$USER/svg/$j/svg.1
fi



else 

#**************************************************SI LE FICHIER N'EXISTE PAS**************************************************************************

#**************************************************CREATION DES REPERTOIRES DE SAUVEGARDE DU CLIENT****************************************************

mkdir /home/$USER/svg/$j
mkdir /home/$USER/svg/$j/svg.0
mkdir /home/$USER/svg/$j/svg.1
mkdir /home/$USER/svg/$j/svg.2
mkdir /home/$USER/svg/$j/svg.3
mkdir /home/$USER/svg/$j/svg.4
mkdir /home/$USER/svg/$j/svg.5
mkdir /home/$USER/svg/$j/svg.6
mkdir /home/$USER/svg/$j/svg.7
mkdir /home/$USER/svg/$j/svg.8
mkdir /home/$USER/svg/$j/svg.9

fi

#**************************************************SAUVEGARDE******************************************************************************************
cp -pr /tmp/home /home/$USER/svg/$j/svg.0
cp -pr /tmp/notes /home/$USER/svg/$j/svg.0





#*************************************************DEMONTAGE DU FICHIER PARTAGE ET SUPRESSION DU REPERTOIR DE MONTAGE***********************************
smbumount /tmp/home
smbumount /tmp/notes

done
done
#*************************************************FIN**************************************************************************************************

exit 0

Dernière modification par ljere (Le 22/06/2009, à 14:36)

#10 Le 22/06/2009, à 11:50

atroxs

Re : probleme avec cron

C'est un script de sauvegarde

#11 Le 22/06/2009, à 11:57

seb0uil

Re : probleme avec cron

/!\ Evites peut être de laisser trainer les mdp dans le forum ...

Autrement, tu utilises $USER mais tu ne l'initialises pas...
de même tu utilises smbmount et smbumount, vérifies qu'ils sont dans le PATH positionné en début de script, tu peux utiliser la commande

which smbmount

pour voir ou il se trouve sur ton disque (je peux pas essayer, il ne sont pas installé chez moi)

Pour cp, mkdir, mv ils sont normallement dans /bin, donc pas de pb


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#12 Le 22/06/2009, à 13:07

Peck

Re : probleme avec cron

Editer la crontab dans /etc n'est pas forcément la meilleure façon de faire, mais c'est sensé marcher.

Il faut avant tout vérifier que le programme est lancé. Pour cela ajoute un /bin/touch /root/truc au début de ton script. S'il est lancé tu peux effectivement regarder les problèmes de variables d'environnement. Sinon il faudra regarder du coté du lancement par cron.

Hors ligne

#13 Le 22/06/2009, à 13:37

atroxs

Re : probleme avec cron

Je mé koi a la place de truc?

#14 Le 22/06/2009, à 13:42

seb0uil

Re : probleme avec cron

tu laisses truc, et si ton script est lancé, un fichier /root/truc est crée, sinon non. Ca te permets de vérifier que le script est lancé par cron.


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#15 Le 22/06/2009, à 13:43

atroxs

Re : probleme avec cron

et je mé ou ton chemin?

dsl je sait rien sur la variable PATH

#16 Le 22/06/2009, à 13:54

seb0uil

Re : probleme avec cron

Bon, dans l'ordre :
- Il faut etre sur que le script est lancé par cron :
  -> Au debut de ton script (donc après le #! /bin/sh) tu mets le /bin/touch /root/truc
  -> tu fais un ls -l /root/truc avant, il ne doit pas il y avoir de fichier, si c'est le cas, il faut l'effacer (rm /root/truc)
  -> tu mets ton script dans cron, tu attends qu'il se lance.
  -> Tu vérifies si le fichier /root/truc existe : Oui, le script a tourné en cron; non il n'a pas tourné dans le cron


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#17 Le 22/06/2009, à 14:03

atroxs

Re : probleme avec cron

le fichier existe mais rien ne sait passé.

#18 Le 22/06/2009, à 14:09

seb0uil

Re : probleme avec cron

ok, donc le script est lancé..
essaies ensuite d'y aller par étape, par exemple place avant
mkdir /tmp/home
mkdir /tmp/notes

un echo $i ; $j >> tmp/cron.log
et un echo `which smbmount` >> tmp/cron.log

et regarde dans le fichier /tmp/cron.log ce qu'il y a ensuite


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#19 Le 22/06/2009, à 14:25

atroxs

Re : probleme avec cron

Sa me dis que cron.log n'existe pas dans tmp
je le créé?

#20 Le 22/06/2009, à 14:28

Peck

Re : probleme avec cron

Tant qu'à faire des logs, puisque le script est lancé, une petite ligne qui permet de voir rapidement s'il y a un problème de variable :

env > /root/truc

Et tu lis le contenu de /root/truc
Après je parie effectivement sur un problème de PATH pour les commandes smb

Hors ligne

#21 Le 22/06/2009, à 14:35

atroxs

Re : probleme avec cron

Dans /tmp/cron.log j'ai:

/usr/bin/smbmount
/usr/bin/smbmount

sinon dans /root/truc j'ai rien

#22 Le 22/06/2009, à 14:39

seb0uil

Re : probleme avec cron

non, le fichier doit etre crée par le script.
essaie de placer des traces pour voir ou il s'arrête


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#23 Le 22/06/2009, à 14:39

atroxs

Re : probleme avec cron

Pour ce qui est des variable i et j , j'ai eu ca sur le terminal:

i55a-182
./svg.sh: line 13: AERIC_RD : commande introuvable
mkdir: ne peut créer le répertoire `/tmp/home': Le fichier existe
mkdir: ne peut créer le répertoire `/tmp/notes': Le fichier existe

AERIC_RD=>$j
i55a-182=>$i

#24 Le 22/06/2009, à 14:54

atroxs

Re : probleme avec cron

c'est bon j'ai reglé le probleme des variables i et j elles apparaisse de le cron.log

#25 Le 22/06/2009, à 16:04

atroxs

Re : probleme avec cron

mais j'arrive toujours pas a faire marcher le script