#!/opt/LWperl5/bin/perl


$TEST = 0;

##############################################################################
# Il y autant de cassettes dans chaque pool
# la definition des pool est fait en dur pour l'instant...
# Par fichier dans les prochaines evolutions
##############################################################################
$ERROR =-1;
$OK    =0;

@liste_k7 = ();
@liste_tar =();

$contact = "root\@fthemis";

##############################################################################
# Chemin et fichiers
#
##############################################################################

# 4 Go
$Taille_Max_Cass = 4000000000;
$Max_k7 = 2;




$Chemin_Conf = "/data/backup/";


$Disque_copy = "copy/";
$Disque_data = "/data/themis/";
$Disque_depo = "/dep/themis/";


$LN = "/bin/ln";
$TARDEP1 = "; tar cvf /dev/rmt/4 . > /dev/null  ";
$TARDEP2 = "; tar cvf /dev/rmt/2 . > /dev/null  ";

$CDDEP = "rsh themis cd ";

if($TEST == 1)
{
$Disque_data = "/scratch/devel/testcopy/";
$Disque_depo = "/scratch/devel/depo/";
}

##############################################################################
# parametre (test ok)
# 1: Fichier contenant la liste des fichiers a copier (chemin absolu) ls -l
##############################################################################

sub calcul_taille_fichiers()
{
    local($fichier)=@_;
    local($perm,$ln,$owner,$group,$taille,$month,$day,$time,$name);
    local($taille_totale)=(0);

    open(LIST,$fichier) || die "\n Can't open file ".$fichier;

    while(<LIST>)
    {
	if($_ !~ /total /)
	{
	 
	    ($perm,$ln,$owner,$group,$taille,$month,$day,$time,$name)
		=split(' ',$_);
	    if($perm !~ /d/)
	    {
		$taille_totale+=$taille;	    	 
	    }
	}
    }
    close(LIST);
    return($taille_totale);
}

##############################################################################
# parametre (test ok)
# aucun
##############################################################################

sub entree()
{
    $nb_elem = @ARGV;
    local($taille_totale,$taille2);

    if($nb_elem !=  1)
    {
	print "\nbad argument number ";
	print "\nYou must type : calcul_taille <file> \n\n";
    
	exit(1);
    }
    
    
    $taille_totale= &calcul_taille_fichiers($ARGV[0]);
    
    if($taille_totale > ($Max_k7*$Taille_Max_Cass))
    {
	print "\n espace superieur a 8 Go !!!...\n";
	exit(1);
    }
    else
    {
#	$taille2 = int($taille_totale/10000)
 	print "\n espace: ",($taille_totale / 1000 / 1000 / 1000)," Gb";
    }
}



##############################################################################
# Principale
# parametre
# 1 le fichier contenant la liste des fichiers a copier sur Exabyte
##############################################################################

&entree();

print "\n\n";



 

