Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
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 14/11/2006, 11h26   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 7
Points : 0
Points : 0
Par défaut Shell script de sauvegarde

Bonjour,

J'ai un petit souci avec le cron de mon script.

Mon script shell est ok lorsque je l'execute il fonctionne bien(sauvegarde+purge..).
Lorsque je le lance depuis la crontab ça ne fonctionne pas pourtant j'ai pbien suivi la nomenclature.
En tout cas, lorsque j'ai voulu faire un simple test, m'afficher toutes les 2 minutes le message "bonjour" avec la ligne de commande suivante dans le fichier crontab ça ne fonctionne pas:

Code :
1
2
3
4
5
6
7
8
9
10
11
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
 
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
*/2 * * * * root echo "bonjour ça marche"
J'ai redemarré le service /etc/init.d/crond
Mais toujours rien

Ai je oublie quelquechose?
SVP aidez moi!
D'avance merci
marza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2006, 12h14   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 545
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 545
Points : 7 768
Points : 7 768
crontab ne doit en aucun cas être modifié par une autre commande que ensuite ton script lancé par le cron doit contenir que des chemin absolus pas de relatifs et ensuite n'utilises pas les cron.daily etc.... mais la crontab réel.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2006, 20h45   #3
Invité de passage
 
Inscription : novembre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 7
Points : 0
Points : 0
Merci pour la reponse

J'ai fait quelque test.

J'ai lance un echo depuis la crontab et c ok, il m'affiche bien le message.
Mais qd je lance un script(ou je ne demande qu'un ls) il me dit qu'il ne trouve pas le fichier.

Je vous donne mon fichier crontab :

Citation:
SHELL=/bin/bash
PATH=/usr/bin:/sbin:/bin:/usr/sbin:
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
#Affiche toute les minutes le message
* * * * * root echo "bonjour ça marche "
#lance le ls /tmp
* * * * * root /usr/bin/test_script.sh
Ainsi que mon fichier test_script qui se situe ds /usr/bin :

Code :
1
2
#!/bin/bash
ls -l /tmp/
Qd je verifie les logs il me met comme message d'erreur :

Citation:
From root@jmk-a.local Tue Nov 14 19:46:01 2006
Return-Path: <root@jmk-a.local>
Received: from jmk-a.local (localhost.localdomain [127.0.0.1])
by jmk-a.local (8.12.11/8.12.11) with ESMTP id kAEIk1kV009143
for <root@jmk-a.local>; Tue, 14 Nov 2006 19:46:01 +0100
Received: (from root@localhost)
by jmk-a.local (8.12.11/8.12.11/Submit) id kAEIk1LV009131
for root; Tue, 14 Nov 2006 19:46:01 +0100
Date: Tue, 14 Nov 2006 19:46:01 +0100
Message-Id: <200611141846.kAEIk1LV009131@jmk-a.local>
From: root@jmk-a.local (Cron Daemon)
To: root@jmk-a.local
Subject: Cron <root@JMK-A> /usr/bin/test_script.sh
X-Cron-Env: <SHELL=/bin/bash>
X-Cron-Env: <PATH=/usr/bin:/sbin:/bin:/usr/sbin:>
X-Cron-Env: <MAILTO=root>
X-Cron-Env: <HOME=/>
X-Cron-Env: <LOGNAME=root>

/bin/bash: line 1: /usr/bin/test_script.sh
: No such file or directory

SVP aidez moi car je ne comprends pas ce qu'il se passe
D'avance milles merci!!
marza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 10h27   #4
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 545
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 545
Points : 7 768
Points : 7 768
ce qui est normal car tu es dans un crontab et que tu n'as pas de variables d'environnement et donc le ls n'est pas connu du path tu dois utiliser le chemin absolu

/sbin/ls ou /bin/ls selon ton OS.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 20h46   #5
Invité de passage
 
Inscription : novembre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 7
Points : 0
Points : 0
Bonsoir,

J'ai suivi vos instructions mais ça ne marche toujours pas.
Vois mes modif :

Le fichier crontab :

Citation:
SHELL=/bin/bash
PATH=/usr/bin:/bin/ls:/bin:/usr/sbin:
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

* * * * * root /usr/bin/test_script.sh
Le fichier shell test_script(j'ai aussi ajouter le fichier path) :

Code :
1
2
3
#!/bin/bash
PATH=/usr/bin:/bin/ls:/bin:/usr/sbin:
/bin/ls -l /tmp/

S'il vous plait aidez moi,
je ne comprends pas pourquoi ça ne marche pas?

D'avance merci
marza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 21h28   #6
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 245
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 245
Points : 1 902
Points : 1 902
essaie de regarder les droits de ton fichier avec un Il faut que ton script soit exécutable, il va sûrement falloir que tu utilises chmod.
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2006, 09h22   #7
Invité de passage
 
Inscription : novembre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 7
Points : 0
Points : 0
Bonjour,

Bien sur mon fichier est bien executable, je l'ai teste et il fonctionne.
Mais j'ai un pb avec le cron.

D'avance merci
marza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2006, 10h20   #8
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 545
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 545
Points : 7 768
Points : 7 768
le cron est t il bien éditer avec la seule commande valable "crontab -e"
ou autrement ?
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2006, 10h37   #9
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 245
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 245
Points : 1 902
Points : 1 902
Citation:
Envoyé par marza
Bonjour,

Bien sur mon fichier est bien executable, je l'ai teste et il fonctionne.
Mais j'ai un pb avec le cron.

D'avance merci
Est ce que tu pourrais cependant nous donner le résultats du sur ton script.

Il y a quelquechose qui bloque et aucune piste n'est à écarter.
Nous essayons de t'aider, donne nous en les moyens, merci.
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2006, 11h36   #10
Invité de passage
 
Inscription : novembre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 7
Points : 0
Points : 0
Je comprends tout a fait, je m'excuse!!!

Vous trouverez ci joint une image du ls -l.
Je travaillais ds le rep /usr/bin

Merci pour tous vos efforts!!
Images attachées
Type de fichier : jpg droit.JPG (85,5 Ko, 10 affichages)
marza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 10h09   #11
Invité de passage
 
Inscription : novembre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 7
Points : 0
Points : 0
Bonjour,

Personne pour m'aider?
marza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 10h15   #12
Membre éprouvé
 
Avatar de Tchetch
 
Inscription : mars 2002
Messages : 401
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2002
Messages : 401
Points : 434
Points : 434
Remplace le /bin/bash dans ton script par /bin/sh ... ça change quelque chose ?
__________________
Mon wiki (on y parle Debian principalement) : http://www.tchetch.net/
Tchetch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h39   #13
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 245
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 245
Points : 1 902
Points : 1 902
Mettre * * * * pour la fréquence du script me paraît pour le moins bizarre.

Par ailleurs la remarque concernant n'est pas dénuée de sens : selon que l'on soit sur certains unix, on doit taper cette commande sans quoi la cron ne fonctionnera pas.
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 15h47   #14
Invité de passage
 
Inscription : novembre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 7
Points : 0
Points : 0
Non malheureusement ça ne marche toujours pas
marza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 16h51   #15
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 245
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 245
Points : 1 902
Points : 1 902
As tu changé la fréquence ?
Ces cinq étoiles n'ont aucun sens.

As tu essayé de modifier le nom de ton script ?
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 22h32   #16
Membre du Club
 
Inscription : février 2005
Messages : 51
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 51
Points : 43
Points : 43
Citation:
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

* * * * * root /usr/bin/test_script.sh
Ta cron va lancer cette commande
root /usr/bin/test_script.sh
Je pense que ceci c'est pas normal
Essaye de faire :
Citation:
* * * * * /usr/bin/test_script.sh > /tmp/script.log
Comme ceci tu vas rediriger les sorties vers une log - c'est mieux que de lire dans les mail .
Honnetement j'ai jamais vu une commande qui commence avec root
Donne moi de tes nouvelles
Mimo est dé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 06h59.


 
 
 
 
Partenaires

Hébergement Web