OVH Cloud OVH Cloud

aide sur shell

11 réponses
Avatar
lolodev
bonjour

j'ecrit le shell suivant :

#!/bin/sh
cd /home/grandgeorge-architecte
if du -s > 200000; then
echo "attention d=E9passement du ftp de grandgeorge-architecte :quota
vendu 200Mo -
r=E9el :" | /usr/local/bin/mutt -s "Quota FTP du FTP
Grandgeorge-architecte " mon mail
fi


comment afficher dans le corps du mail la taille r=E9elle donn=E9e par du
-s ???
et cel=E0 divis=E9 par 1024pour l'avoir en Mo ????


merci

10 réponses

1 2
Avatar
Emmanuel Fleury
lolodev wrote:

j'ecrit le shell suivant :

#!/bin/sh
cd /home/grandgeorge-architecte
if du -s > 200000; then
echo "attention dépassement du ftp de grandgeorge-architecte :quota
vendu 200Mo -
réel :" | /usr/local/bin/mutt -s "Quota FTP du FTP
Grandgeorge-architecte " mon mail
fi


comment afficher dans le corps du mail la taille réelle donnée par du
-s ???
et celà divisé par 1024pour l'avoir en Mo ????


du -hs

--> man du

Amicalement
--
Emmanuel Fleury

I am so amazingly cool you could keep a side of meat in me for a month.
I am so hip I have difficulty seeing over my pelvis.
-- Zaphod being cool (Douglas Adams)

Avatar
gtuhfn
lolodev a écrit, le 06.03.2006 11:39 :
j'ecrit le shell suivant :
#!/bin/sh
cd /home/grandgeorge-architecte
if du -s > 200000; then
echo "attention dépassement du ftp de grandgeorge-architecte :quota
vendu 200Mo -
réel :" | /usr/local/bin/mutt -s "Quota FTP du FTP
Grandgeorge-architecte " mon mail
fi
comment afficher dans le corps du mail la taille réelle donnée par du
-s ???
et celà divisé par 1024pour l'avoir en Mo ????
bonjour,

peut-être en mettant cela dans une variable avec l'option h (human
readable)
taile-fich=`du -sh ton-fichier`
puis en rebalancant $taill-fich dans ton mail.

à plus

Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:,
*lolodev* tapota sur f.c.o.l.configuration :

Bonjour,

j'ecrit le shell suivant :

#!/bin/sh
cd /home/grandgeorge-architecte
if du -s > 200000; then
echo "attention dépassement du ftp de grandgeorge-architecte :quota
vendu 200Mo -
réel :" | /usr/local/bin/mutt -s "Quota FTP du FTP
Grandgeorge-architecte " mon mail
fi

comment afficher dans le corps du mail la taille réelle donnée par du
-s ???


En mettant le résultat dans une variable.

et celà divisé par 1024pour l'avoir en Mo ????


En divisant la valeur de cette variable par 1024 ou bien en utilisant
l'option '-m' de la commande 'du' pour avoir le résultat en Mo.

SIZE=$(du -sb /home/grandgeorge-architecte)
SIZE=$(($SIZE / 1048576))

if [ "$SIZE" -gt 200 ]
then
printf "attention dépassement du ftp de grandgeorge-architecte :nnquota
vendu : 200Monréel : %s" "$SIZE" |
/usr/local/bin/mutt -s "Quota FTP du FTP Grandgeorge-architecte" "$EMAIL"
fi

Non testé, mais l'idée est là.

--
Sébastien Monbrun aka TiChou

Avatar
Sébastien Monbrun aka TiChou
(Supersedes )

Dans le message <news:,
*lolodev* tapota sur f.c.o.l.configuration :

Bonjour,

j'ecrit le shell suivant :

#!/bin/sh
cd /home/grandgeorge-architecte
if du -s > 200000; then
echo "attention dépassement du ftp de grandgeorge-architecte :quota
vendu 200Mo -
réel :" | /usr/local/bin/mutt -s "Quota FTP du FTP
Grandgeorge-architecte " mon mail
fi

comment afficher dans le corps du mail la taille réelle donnée par du
-s ???


En mettant le résultat dans une variable.

et celà divisé par 1024pour l'avoir en Mo ????


En divisant la valeur de cette variable par 1024 ou bien en utilisant
l'option '-m' de la commande 'du' pour avoir le résultat en Mo.

SIZE=$(du -sb /home/grandgeorge-architecte | cut -f1)
SIZE=$(($SIZE / 1048576))

if [ "$SIZE" -gt 200 ]
then
printf "attention depassement du ftp de grandgeorge-architecte :nnquota
vendu : 200 Monreel : %s Mon" "$SIZE" |
/usr/local/bin/mutt -s "Quota FTP du FTP Grandgeorge-architecte" "$EMAIL"
fi

Non testé, mais l'idée est là.

--
Sébastien Monbrun aka TiChou

Avatar
Nicolas George
(Je réponds aussi à gtuhfn.)

Emmanuel Fleury wrote in message <duh933$jte$:
du -hs


Non. Mettre l'option -h dans un script, c'est complètement débile.

Avatar
Emmanuel Fleury
Nicolas George wrote:

Non. Mettre l'option -h dans un script, c'est complètement débile.


C'est sûr qu'une justification aurait pu donner un certain crédit à ton
intervention, mais comme tu as décidé de faire sans le débile c'est toi
en l'occurence. :)

PS: (pour lolodev) Utilise l'option '-h' et ne te préoccupe de ce que
penser ce mauvais garçon. ^_^

Amicalement
--
Emmanuel Fleury

Few things are harder to put up with than the annoyance
of a good example.
-- Mark Twain

Avatar
lolodev
merci !!
mais j'ai une erreur sur la ligne if["$SIZE" -gt 200]
il me retourne: [307: Command not found

j'essaie plusieyrs type d'ecriture du if sans effet ??? merci
Avatar
lolodev
j'ai oublié l'espace entre [ "

hébé !!
Avatar
Nicolas George
Emmanuel Fleury wrote in message <duhj8b$nll$:
C'est sûr qu'une justification aurait pu donner un certain crédit à ton
intervention, mais comme tu as décidé de faire sans le débile c'est toi
en l'occurence. :)


Je pensais naïvement que ce serait évident pour tout le monde une fois qu'on
le fait remarquer, mais si vraiment il y a des mal-comprenants pour qui il
faut expliquer :

-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)

On souhaite que le nombre soit interprété par un script, donc par un
ordinateur et pas par un humain. Il est donc stupide d'utiliser une option
destinée à optimiser l'affichage pour sa lecture par un humain, ça saute aux
yeux.

Pour détailler un peu plus, le code nécessaire pour faire comprendre à
l'ordinateur que 2G est plus grand que 999M est nettement plus complexe que
le code nécessaire pour lui faire remarquer que 2147483648 est plus grand
que 1047527424.

Avatar
R12y
On Mon, 06 Mar 2006 14:43:50 +0000, Nicolas George wrote:

Je pensais naïvement que ce serait évident pour tout le monde une fois qu'on
le fait remarquer,


la violence de tes remarque génère parfois un auto-repoussement.
dans le cas présent, lolodev veut de toutes façons convertir en human
readable puis envoyer par mail ensuite. lolodev a donc besoin des deux
formes (une machine readable pour calculer, et l'autre au cas ou ça
dépasse et qu'il faut envoyer un mail a l'architecte)

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum

1 2