OVH Community, votre nouvel espace communautaire.

affichage des quotas utilisateurs...


almiron
28/03/2004, 12h59
Trouvé sur www.at-infor.com

voici le code à mettre dans le rep cgi-bin (ou ailleurs ca marche aussi )

Code PHP:
#!/usr/bin/perl

print "Content-type: text/html\n\n";

`
quota | tail -n1` =~ / +(\d+) +(\d+) +(\d+)/;

my $used_Ko  sprintf "%d", $1;
my $used_Mo  sprintf "%.2f", ($1)/1024;

my $total_Ko sprintf "%.0f", $3;
my $total_Mo sprintf "%d", ($3)/1024;

my $remain_Ko sprintf "%.0f"$total_Ko $used_Ko;
my $remain_Mo sprintf "%.2f", ($total_Ko $used_Ko)/1024;

my $pc sprintf "%.2f", ($1/$3)*100;

print 
"Espace disquebgcolor=#D0DCE0>\n";

print 
"\n";
print 
"

Etat de votre espace
disque

\n"

print 
" "
print 
" Espace total disponible :
$total_Mo Mo\n"
print 
" Espace
utilisé :  
$used_Ko Ko ($used_Mo Mo)
(
$pc%)\n"
print 
" Espace restant
:  
$remain_Ko Ko ($remain_Mo Mo) \n"
print 
"\n";

print 
""
petit exemple : http://www.sconcept.net/cgi-bin/quota.cgi

Merci At-infor.com

almiron
09/03/2004, 18h06
En fait j'ai viré la ligne 16 (celle qui pose probleme avec la division pas 0) et j'ai la page qui s'affiche (j'avais du mal regarder hier soir quand je l'avez fait... )

par contre tout s'affiche mais qu'avec des 0 et non des valeurs...je pense que quelqu'un a déjà eu ce probleme ...si un peu me passer la soluce...(Elgi peut etre? sans vouloir abuser)

Elgi
09/03/2004, 17h43
regarde tes logs
je peux pas te dire quel fichier regarde exactement mais forcement un te dira pkoi ca fonctionne pas !

almiron
09/03/2004, 17h40
Non cela confirme bien ce que je pensais, j'ai bien des quotas de définis..

Disk quotas for user stage (uid 509):
Filesystem blocks soft hard inodes soft hard
/dev/hda2 68 0 100000 13 0 0

des idées?? car moi je suis largué sur ce coup la...

almiron
09/03/2004, 08h05
Oui j'avais bien vu cette erreur, j'ai tenté de supprimer la ligne a probleme (la 16) mais cela ne changais rien.

J'avais regarder vite fait hier les quotas via OVHM, ils sont bien présent, ce soir je vais vérifier en ligne de commande (comme tu le suggeres) afin de vérifier que ce soit concordant avec ce que j'ai apercu dans OVHM...

la suite ce soir..

Merci Elgi

Elgi
09/03/2004, 00h28
almiron écrivait :
Je l'avais bien fait en CHMOD 755 mais rien ne s'affichait, par contre j'avais pas regarder les logs ( ) voila ce que cela m'indique :

[2004-03-08 18:50:13]: info: (target/actual) uid: (stage/stage) gid: (users/users) cmd: quotas.cgi

mais cela ne m'aide pas trop faut-il faire une manip pour attibuer un users à ce script genre :

chown stage.users /home/stage/www/quotas.cgi

mais j'ai testé ca marche pô...
le "info" qu'indique une info comme sont nom l'indique
en general une erreur 500 viens d'un probleme de droit, enfin pour ma part c'est 100% a cause de ca !

maintenant tu dis aussi avoir une page blanche, en regardant error_log tu trouveras surement une ligne te disant "illegal divizion by zero" ou autre chose.

si rien dans error_log, trouve le log qui parle

quand tu as trouve l'info deja tu as une bonne piste pour trouver la soluce.

Est-ce que que ton user "stage" a un quota de definie ?
# edquota -u stage
(:q pour sortir)

almiron
08/03/2004, 17h58
Je l'avais bien fait en CHMOD 755 mais rien ne s'affichait, par contre j'avais pas regarder les logs ( ) voila ce que cela m'indique :

[2004-03-08 18:50:13]: info: (target/actual) uid: (stage/stage) gid: (users/users) cmd: quotas.cgi

mais cela ne m'aide pas trop faut-il faire une manip pour attibuer un users à ce script genre :

chown stage.users /home/stage/www/quotas.cgi

mais j'ai testé ca marche pô...

Elgi
07/03/2004, 21h49
verifie les droits de ton fichier quota.cgi
le chmod doit etre 755
puis regarde ce que te dise tes logs.
aussi ton users doit avoir un quota de definie, sinon ca fonctionne pas

almiron
07/03/2004, 20h16
Merci Elgi,

y'a un truc car ca fait une erreur 500 "Internal Server Error" comme quand j'ai mis le script cgi de base de OVH

j'ai tenté CHMOD mais plus rien ne s'affiche alors dans la page...

je pense que c'est un truc tout bete mais .... quoi

j'ai pas encore tous les reflexes

Elgi
07/03/2004, 18h52
quota.cgi :
Code PHP:
#!/usr/bin/perl

print "Content-type: text/html\n\n";

`
quota | tail -n1` =~ / +(\d+) +(\d+) +(\d+)/;

my $used_Ko  sprintf "%d", $1;
my $used_Mo  sprintf "%.2f", ($1)/1024;

my $total_Ko sprintf "%.0f", $3;
my $total_Mo sprintf "%d", ($3)/1024;

my $remain_Ko sprintf "%.0f"$total_Ko $used_Ko;
my $remain_Mo sprintf "%.2f", ($total_Ko $used_Ko)/1024;

my $pc sprintf "%.2f", ($1/$3)*100;

print 
"Espace disquebgcolor=#D0DCE0>\n";

print 
"\n";
print 
"

Etat de votre espace disque

\n"
;
print 
" ";
print 
" Espace total disponible :
$total_Mo Mo\n";
print 
" Espace utilisé :  $used_Ko Ko ($used_Mo Mo)
(
$pc%)\n";
print 
" Espace restant :  $remain_Ko Ko ($remain_Mo Mo) \n";
print 
"\n";

print 
""

almiron
07/03/2004, 18h11
Bonjour,

je veux mettre en place une page permettant d'afficher l'espace disque utilisé et restant par le user.

j'ai trouver sur At-infor.com le script php suivant:

$tab=preg_split("/\s+/",`quota | tail -n1`);

$used_Ko = sprintf("%d", $tab[1]*16);
$used_Mo = sprintf("%.2f", ($tab[1]*16)/1024);

$total_Ko = sprintf("%.0f", $tab[2]*16);
$total_Mo = sprintf("%d", ($tab[2]*16)/1024);

$remain_Ko = sprintf("%.0f", $total_Ko - $used_Ko);
$remain_Mo = sprintf("%.2f", ($total_Ko - $used_Ko)/1024);

$pc = sprintf("%d", ($tab[1]/$tab[2])*100);

echo "Espace disque\n";

echo "\n";
echo "\n";
echo "";
echo "\n";
echo "\n";
echo "\n";
echo "

Etat de votre espace
disque

 
Espace total disponible :
$total_Mo Mo
Espace utilisé : $used_Ko Ko
($used_Mo Mo) ($pc%)
Espace restant : $remain_Ko Ko
($remain_Mo Mo)
\n";
echo "";
?>

a part une erreur à la ligne : $pc = sprintf("%d", ($tab[1]/$tab[2])*100);

tout reste à 0...(pourtant y'a des fichiers)

j'ai tester de reprendre le cgi que met de base OVH dans les mutu mais sans succes...

sniff...help me