# Problème pour lancer un script bash avec cron

**URL:** <https://www.debian-fr.org/t/probleme-pour-lancer-un-script-bash-avec-cron/32340>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 2:18 UTC](https://www.debian-fr.org/t/probleme-pour-lancer-un-script-bash-avec-cron/32340 "2016-02-21T02:18:10Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Flamme\_2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/e68b1a/32.png) [@Flamme\_2](https://www.debian-fr.org/u/Flamme_2)\
**Post date:** [Février 21, 2016, 2:18 UTC](https://www.debian-fr.org/t/probleme-pour-lancer-un-script-bash-avec-cron/32340/1 "2016-02-21T02:18:10Z")

</div>

Bonjour,

J’ai ouvert un post récemment, où l’on m’a conseillé de le déplacer dans “programmation”

[probleme-script-cron-t33422.html#p337994](http://www.debian-fr.org/probleme-script-cron-t33422.html#p337994)

Le but du script est de relever les quotas de chaque utilisateurs et d’en ressortir un pourcentage

Cependant par rapport au précédent fil, j’ai modifié le script de cette manière

[code]#!/bin/bash

nbusers=$(cat /etc/passwd | grep mdpu | cut -d : -f 1 | wc -l)  
users=$(cat /etc/passwd | grep mdpu | cut -d : -f 1)

i=1

while [$i -ne $(( ${nbusers}+1 ))]  
do  
usersl=$(cat /etc/passwd | grep mdpu | cut -d : -f 1 | sed -n "$i"p)  
Tuser[$i]=${usersl}  
user=${Tuser[$i]}  
qtot=$(repquota -a | grep ${user} | cut -d ‘-’ -f 3 | awk ‘BEGIN {FS = " "}{print $2}’)  
quse=$(repquota -a | grep ${user} | cut -d ‘-’ -f 3 | awk ‘BEGIN {FS = " "}{print $1}’)  
quseperc=$(( (${quse}\*100)/${qtot} ))  
echo ${Tuser[$i]}  
echo ${quseperc} \> /infodb/users/quota/${user}  
i=$(($i+1))  
done[/code]

J’excute maintenant ma tache cron de cette manière :

```auto

```

Et les log m’indique :

[quote]May 20 14:35:01 sd-19756 /USR/SBIN/CRON[5850]: (root) CMD (/usr/bin/diskuse \>\> /var/log/get\_user\_space.log)  
May 20 14:35:01 sd-19756 /USR/SBIN/CRON[5849]: (CRON) error (grandchild #5850 failed with exit status 1)  
[/quote]

Je ne trouve pas mon erreur 😕

Merci à vous d’avoir pris le temps de me lire

Edit : Je suis sur debian squeeze, mdpu est la partition où les quotas sont activés (monter en /mdpu)  
Les utilisateurs sont dans le groupe mdpu

Edit 2 :

Voici ce que me retourne le script avec bash -x :

[quote]++ cat /etc/passwd  
++ grep mdpu  
++ cut -d : -f 1  
++ wc -l

- nbusers=2  
++ cat /etc/passwd  
++ grep mdpu  
++ cut -d : -f 1
- users=‘test2  
moi’
- i=1
- ‘[’ 1 -ne 3 ‘]’  
++ cat /etc/passwd  
++ grep mdpu  
++ cut -d : -f 1  
++ sed -n 1p
- usersl=test2
- Tuser[$i]=test2
- user=test2  
++ repquota -a  
++ cut -d - -f 3  
++ grep test2  
++ awk ‘BEGIN {FS = " "}{print $2}’
- qtot=5000000  
++ repquota -a  
++ grep test2  
++ cut -d - -f 3  
++ awk ‘BEGIN {FS = " "}{print $1}’
- quse=4553232
- quseperc=91
- echo test2  
test2
- echo 91
- i=2
- ‘[’ 2 -ne 3 ‘]’  
++ cat /etc/passwd  
++ grep mdpu  
++ cut -d : -f 1  
++ sed -n 2p
- usersl=moi
- Tuser[$i]=moi
- user=moi  
++ repquota -a  
++ grep moi  
++ cut -d - -f 3  
++ awk ‘BEGIN {FS = " "}{print $2}’
- qtot=9000000  
++ repquota -a  
++ grep moi  
++ cut -d - -f 3  
++ awk ‘BEGIN {FS = " "}{print $1}’
- quse=4
- quseperc=0
- echo moi  
moi
- echo 0
- i=3
- ‘[’ 3 -ne 3 ‘]’  
[/quote]

Edit 3 : Le script, s’il est lancé manuellement fonctionne 😕

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:18 UTC](https://www.debian-fr.org/t/probleme-pour-lancer-un-script-bash-avec-cron/32340/2 "2016-02-21T02:18:11Z")

</div>

[size=85]UUOC detected ![/size]

Il n’y a rien après dans ton script ?

---

<div class="post-metadata">

**Author:** ![Flamme\_2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/e68b1a/32.png) [@Flamme\_2](https://www.debian-fr.org/u/Flamme_2)\
**Post date:** [Février 21, 2016, 2:18 UTC](https://www.debian-fr.org/t/probleme-pour-lancer-un-script-bash-avec-cron/32340/3 "2016-02-21T02:18:11Z")

</div>

[quote=“MisterFreez”][size=85]UUOC detected ![/size] -\> ❓

Il n’y a rien après dans ton script ?[/quote]

Non, le script doit juste envoyer dans un fichier le pourcentage  
avec : `echo ${quseperc} > /infodb/users/quota/${user}`

Sinon, dans le cron j’ai mis ceci :

```auto

```

Et le fichier testecho ne se creer pas ❓

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:18 UTC](https://www.debian-fr.org/t/probleme-pour-lancer-un-script-bash-avec-cron/32340/4 "2016-02-21T02:18:12Z")

</div>

```auto
Ce fichier existe ? Il a les bons droits ?
```

Ce fichier existe ? Il a les bons droits ?

---

<div class="post-metadata">

**Author:** ![Flamme\_2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/e68b1a/32.png) [@Flamme\_2](https://www.debian-fr.org/u/Flamme_2)\
**Post date:** [Février 21, 2016, 2:20 UTC](https://www.debian-fr.org/t/probleme-pour-lancer-un-script-bash-avec-cron/32340/5 "2016-02-21T02:20:19Z")

</div>

Problème résolu, le script se lance correctement

J’ai placé cette ligne :

```auto

```

dans le fichier

/etc/crontab

Et cela fonctionne.

Merci MisterFreez
