Bonjour,
J’ai un soucis pour lancer un script (diskuse) avec cron.
Le script, si je le lance manuellement fonctionne correctement.
Le but de ce script est de récuperer les quotas d’utilisateur du groupe mdpu et d’informer dans un fichier texte le pourcentage alloué utilisé.
lorsque je met */1 * * * * bash /usr/bin/diskuse, j’ai l’impression que rien ne se passe. Si je met */1 * * * * bash /usr/bin/diskuse >> /home/test/test le fichier est bien créé toutes les minutes.
Le script doit nécssairement etre lance avec root :
le voici
[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)
nbusersw=$(( $nbusers+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
i=$(($i+1))
done
i=1
while [ $i -ne $(( $nbusers+1 )) ]
do
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 $quseperc > /infodb/users/quota/$user
i=$(($i+1))
done[/code]