Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Taille d'un repertoire
Envoyé par: franck L

Bonjour,
je cherche a faire un script ou petit prog en c permettant de recuperer la taille un repertoire.
Je chercher a faire ceci dans le but d'envoyer un mail aux utilisateurs lors leur dossier atteint le quota fixé.

Merci

Poste le Friday 14 May 2004 23:46:16
Répondre     Citer    
Re: Taille d'un repertoire
Envoyé par: alveric

En shell, tu peux utiliser la commande "du". Par exemple:
$ du
donne la taille du dossier courant et de tous les sous-dossiers.
$ du -s .
donne la taille du dossier courant seul.Après, il y a des options pour donner la taille en octets, Ko... La sortie de du est réutilisable facilement, avec des cut ou ce que tu veux.

En C, ça doit se faire sans trop de complications, mais je ne connais pas les commandes.

Poste le Saturday 15 May 2004 00:07:14
Répondre     Citer    
Re: Taille d'un repertoire
Envoyé par: fabrice d

#!/usr/bin/perl -w
use strict;
#
#----------------------------------------------------+
# Script perl à lancer depuis cron (voir man cron) |
#----------------------------------------------------+
#
my $utilisateur = "machin";
my $repertoire = "/home/$utilisateur";
my $taillemax = 0x100000;
my $alerte = 0x1000;
my $taille = 0x0;
sub explorerecursif
{
my $dir = shift;
if (opendir(DIR, $dir))
{
my @lst = readdir(DIR);
foreach(@lst)
{
unless ($_ eq '.' || $_ eq '..' || -l "$dir/$_")
{
my $d = "$dir/$_";
my @info = stat($d);
$taille += $info[7];
explorerecursif($d) if (-d $d);
}
}
closedir DIR;
}
}
explorerecursif($repertoire);
if ($taille + $alerte > $taillemax)
{
print "Votre répertoire $repertoire contient $taille octets.\n";
print "Attention $utilisateur : la limite est fixée à $taillemax octets !\n";
#Cette sortie peut être envoyée par mail à l'utilisateur.
#cron utilise la variable d'environnement MAILTO (voir man cron)
}

Poste le Saturday 15 May 2004 09:23:19
Répondre     Citer    
Re: Taille d'un repertoire
Envoyé par: Franck L

Merci a vous deux,
Fabrice ton script est parfait merci encore
Franck

Poste le Sunday 16 May 2004 13:55:51
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Taille d'un repertoire
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons