Re: resultat different d'un script appele par cron ou en console

2013-03-03 Par sujet Vincent Lefevre
On 2013-03-02 10:51:47 +0100, C Diaz wrote:
> Chez moi ça ne marche pas aussi bien, la commande grep semble plus
> récalcitrante.
> Dans le script appelé par cron,
> 
> /sbin/tune2fs -l >> fichier_enregistrant_la_sortie
> 
> fonctionne
> 
> mais
> /sbin/tune2fs -l  | /bin/grep "ma chaine de tri" >>
> fichier_enregistrant_la_sortie
> 
> ne fonctionne pas.

Les locales peuvent faire une différence, mais il y a également
d'autres choses: plus généralement, l'environnement, car grep
est sensible à certaines variables d'environnement, listées dans
sa page man (e.g. GREP_OPTIONS). Le fait aussi que les commandes
soient attachées à un terminal ou non...

Autre chose que tu peux tester:

/sbin/tune2fs -l > fichier_tmp
/bin/grep "ma chaine de tri" fichier_tmp >> fichier_enregistrant_la_sortie

-- 
Vincent Lefèvre  - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/20130303130155.gb7...@xvii.vinc17.org



Re: resultat different d'un script appele par cron ou en console

2013-03-03 Par sujet Vincent Lefevre
Bonjour,

On 2013-03-03 09:49:04 +0100, C Diaz wrote:
> Le 03/03/2013 09:20, Francois Mescam a écrit :
> >Ce ne serait pas cron qui lance ton script avec bash/dash et en console
> >que ce soit le contraire.
> 
> Tiens, dash, c'est la première fois que j'en entends parler. Pourtant mon
> script appelé par cron commence bien par
> #! /bin/bash
> Si cron utilise dash par défaut, je ne vais pas trop y toucher, il y
> peut-être une bonne raison à ce choix.

Par défaut, cron utilise /bin/sh, qui correspond à dash sur les
Debian récentes. Mais c'est pour lancer la commande, qui peut être
plus compliquée qu'un nom de script (cf exemples dans la page man
crontab(5)). Le script lui-même va être exécuté par bash, sauf si
la commande dans le crontab est ". nom_du_script", le "." étant
une commande shell pour exécuter un script dans le shell courant.

-- 
Vincent Lefèvre  - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/20130303125259.ga7...@xvii.vinc17.org



Re: resultat different d'un script appele par cron ou en console

2013-03-03 Par sujet C Diaz

Le 03/03/2013 02:06, Vincent Lefevre a écrit :

.../...
Autre chose... Est-ce que les deux commandes suivantes donnent la même
sortie?

   /sbin/tune2fs -l>>  fichier_enregistrant_la_sortie
   /sbin/tune2fs -l | cat>>  fichier_enregistrant_la_sortie

(Certains utilitaires perdent des données avec un pipe sous certaines
conditions.)

   
Oui les deux commandes dans un script appelé par cron donnent la même 
chose, ce n'est donc pas pipe qui pose problème.

Christophe

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/51330f1f.9020...@laposte.net



Re: resultat different d'un script appele par cron ou en console

2013-03-03 Par sujet C Diaz

Le 03/03/2013 09:20, Francois Mescam a écrit :

On 01/03/2013 23:15, C Diaz wrote:

Bonsoir,

Mon problème du jour, un script, appelé par cron, ne donne pas le même
résultat que si je l'exécute dans une console.



Ce ne serait pas cron qui lance ton script avec bash/dash et en 
console que ce soit le contraire.



Bonjour,

Tiens, dash, c'est la première fois que j'en entends parler. Pourtant 
mon script appelé par cron commence bien par

#! /bin/bash
Si cron utilise dash par défaut, je ne vais pas trop y toucher, il y 
peut-être une bonne raison à ce choix.

Christophe

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/51330e80.9050...@laposte.net



Re: resultat different d'un script appele par cron ou en console

2013-03-03 Par sujet Francois Mescam

On 01/03/2013 23:15, C Diaz wrote:

Bonsoir,

Mon problème du jour, un script, appelé par cron, ne donne pas le même
résultat que si je l'exécute dans une console.



Ce ne serait pas cron qui lance ton script avec bash/dash et en console 
que ce soit le contraire.


--
F.Mescam

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/kgv13p$f4q$1...@ger.gmane.org



Re: resultat different d'un script appele par cron ou en console

2013-03-02 Par sujet l3w0rm

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Le 03/03/2013 02:06, Vincent Lefevre a écrit :
> On 2013-03-02 10:51:47 +0100, C Diaz wrote:
Salut
>
>> Chez moi ça ne marche pas aussi bien, la commande grep semble plus
>> récalcitrante.
>> Dans le script appelé par cron,
>>
>> /sbin/tune2fs -l >> fichier_enregistrant_la_sortie
>>
>> fonctionne
>>
>> mais
>> /sbin/tune2fs -l | /bin/grep "ma chaine de tri" >>
>> fichier_enregistrant_la_sortie
>>
>> ne fonctionne pas.
>>
>> Ce n'est pas bien grave, je scinde l'opération en deux, l'opération
"grep"
>> se faisant par un autre script appelé directement en ligne de commande.
ce ne serait il pas un broblème dash (utilisé par cron) et bash (quand
tu lances à la main)?
 philippe
>

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJRMtnBAAoJEACDPLeL1qJwpgsIAKCM59vsi5b+TKN/f9Z7uuGq
p/zFtwOGZstF2d66zwxjw29t635L4EoIEbvAYGW5WbxCqQIWh+n0+1VyB/JOqNsa
GqUzSnTE6tlf8sK75ZVijub6WT6MrH3lhHuBEyZ6/oETe6go7iKbqdxxKu74bFQC
zZKYX/Vox0+cUhVxhxsMNI/67/3ONuduPTfdpzNsnrujfmGo/uqe8lJS9qGMU4LF
nbcpmKC4sSa13+o2j06r+HcF5IfTpqF0gmcNju39thnj464J4OFgV5mKxy6tNAP9
2il/IQCDbrfj6v13QBQrtpcFBCYW918GBXNYaP+AvIXwmfQNg2SDkHff1VjWH/U=
=G8d3
-END PGP SIGNATURE-



Re: resultat different d'un script appele par cron ou en console

2013-03-02 Par sujet Vincent Lefevre
On 2013-03-02 10:51:47 +0100, C Diaz wrote:
> Chez moi ça ne marche pas aussi bien, la commande grep semble plus
> récalcitrante.
> Dans le script appelé par cron,
> 
> /sbin/tune2fs -l >> fichier_enregistrant_la_sortie
> 
> fonctionne
> 
> mais
> /sbin/tune2fs -l  | /bin/grep "ma chaine de tri" >>
> fichier_enregistrant_la_sortie
> 
> ne fonctionne pas.
> 
> Ce n'est pas bien grave, je scinde l'opération en deux, l'opération "grep"
> se faisant par un autre script appelé directement en ligne de commande.

Le résultat de "grep" peut dépendre des locales, et il se peut que
les locales avec cron et avec un shell interactif soient différentes.
Ceci dit, avec les chaîne que tu donnes dans ton script, il serait
étonnant de voir une différence.

Autre chose... Est-ce que les deux commandes suivantes donnent la même
sortie?

  /sbin/tune2fs -l >> fichier_enregistrant_la_sortie
  /sbin/tune2fs -l | cat >> fichier_enregistrant_la_sortie

(Certains utilitaires perdent des données avec un pipe sous certaines
conditions.)

-- 
Vincent Lefèvre  - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/20130303010639.gc6...@xvii.vinc17.org



Re: resultat different d'un script appele par cron ou en console

2013-03-02 Par sujet Vincent Lefevre
On 2013-03-02 08:13:12 +, moi-meme wrote:
> Le Sat, 02 Mar 2013 02:10:01 +0100, SIAGEP - Stéphane RIGOULOT a écrit :
> > Pourquoi le script appelé par cron "ne voit pas" la commande tune2fs ?
> > Le problème est le même pour toutes les autres partitions du système, ce
> > n'est pas lié à /dev/sda6.
> 
> J'ai déjà eu le même problème : résolu en mettant le chemin absolu des 
> commandes/fichiers data.
> 
> AMHA $PATH n'est pas le même.

J'ai aussi eu le même problème lié à un $PATH différent. Ma solution
a été de modifier le $PATH dans le fichier "/etc/crontab":

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

-- 
Vincent Lefèvre  - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/20130303003718.gb6...@xvii.vinc17.org



Re: resultat different d'un script appele par cron ou en console

2013-03-02 Par sujet C Diaz

Le 02/03/2013 09:13, moi-meme a écrit :


J'ai déjà eu le même problème : résolu en mettant le chemin absolu des
commandes/fichiers data.
.../...
   
Chez moi ça ne marche pas aussi bien, la commande grep semble plus 
récalcitrante.

Dans le script appelé par cron,

/sbin/tune2fs -l >> fichier_enregistrant_la_sortie

fonctionne

mais
/sbin/tune2fs -l  | /bin/grep "ma chaine de tri" >> 
fichier_enregistrant_la_sortie


ne fonctionne pas.

Ce n'est pas bien grave, je scinde l'opération en deux, l'opération 
"grep" se faisant par un autre script appelé directement en ligne de 
commande.

Merci pour vos pistes.
Cordialement
Christophe



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/5131cbb3.5050...@laposte.net



Re: resultat different d'un script appele par cron ou en console

2013-03-02 Par sujet moi-meme
Le Sat, 02 Mar 2013 02:10:01 +0100, SIAGEP - Stéphane RIGOULOT a écrit :

> Pourquoi le script appelé par cron "ne voit pas" la commande tune2fs ?
> Le problème est le même pour toutes les autres partitions du système, ce
> n'est pas lié à /dev/sda6.

J'ai déjà eu le même problème : résolu en mettant le chemin absolu des 
commandes/fichiers data.

AMHA $PATH n'est pas le même.

D'autres (meilleurs) que moi donneront l'explication qui m'intéresse 
aussi.

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/5131b498$0$2302$426a7...@news.free.fr



RE: resultat different d'un script appele par cron ou en console

2013-03-01 Par sujet SIAGEP - Stéphane RIGOULOT

Du fonctionnement du grep dans les scripts CRON.
Quelques pistes :
http://www.dbforums.com/unix-shell-scripts/731441-strange-problem-grep-cron-
not-working.html
http://www.linuxquestions.org/questions/linux-general-1/grep-does-not-work-i
n-crontab-script-579483/
http://serverfault.com/questions/449651/why-is-my-crontab-not-working-and-ho
w-can-i-troubleshoot-it


Cordialement

-
   ,
  / \   RIGOULOT Stéphane
 /   `--
/   \   Responsable du service Informatique - SIAGEP
` S  |
 ` I_|
 `  A  \_
`G   |  tel : 03 84 57 65 82
 `|_  E   \ FAX : 03 84 57 65 66
\  P   \
/  ,.  ,'   mail : srigou...@siagep90.fr
\_/  `'

- 
-Message d'origine-
De : C Diaz [mailto:ch.d...@laposte.net] 
Envoyé : vendredi 1 mars 2013 23:15
À : debian-user-french@lists.debian.org
Objet : resultat different d'un script appele par cron ou en console

Bonsoir,

Mon problème du jour, un script, appelé par cron, ne donne pas le même 
résultat que si je l'exécute dans une console.

Dans la crontab de root il y a cette ligne:
30  20  *   *   */usr/local/bin/mon_script.sh

et mon script contient les lignes:
-- extrait du script 
#! /bin/bash

date +%A_%d_%B_%Y_%Hh_%M > /home/chr/info_fsck

echo "/dev/sda6, partition / de 19 G" >> /home/chr/info_fsck
tune2fs -l /dev/sda6 | grep "Mount count:" >> /home/chr/info_fsck
tune2fs -l /dev/sda6 | grep "Maximum mount count:" >> /home/chr/info_fsck
 fin extrait 

1) Appelé par cron mon_script.sh donne les 2 lignes ci-dessous:

vendredi_01_mars_2013_20h_30
/dev/sda6, partition / de 19 G

2) Appelé dans une console il donne les 4 lignes attendues:

vendredi_01_mars_2013_20h_06
/dev/sda6, partition / de 19 G
Mount count:  4
Maximum mount count:  32

Pourquoi le script appelé par cron "ne voit pas" la commande tune2fs ?
Le problème est le même pour toutes les autres partitions du système, ce 
n'est pas lié à /dev/sda6.

Merci pour votre aide.
Cordialement
Christophe

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/51312879.9010...@laposte.net


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/2251BA6CF7F84D13959CE9A49A30EF23@COMPAQ2006