Rechercher : dans
Par :

Srcipt test poid de fichier

Dernière réponse le 1 aoû 2008 à 10:35:02 vitcz, le 31 jui 2008 à 13:14:24 
 Signaler ce message aux modérateurs

Bonjour a tous,

je ne trouve pas l'argument qui test le volume (poids, taille..) d'un fichier compresser avant un envoi ftp pour automatiser une archive : ça ressemblerais à cela :

#!/bin/bash

if [ $filename1.tar.gz -e size > 100Mo ]; then

ftp 00.00.00.00 <<EOF
bin
cd REP
send $filename1.tar.gz
quit
bye
EOF

exit 1
elif [ ! -e "$1" ]; then
echo "fichier trop volumineux"
exit 1
fi; done;

merci pour les pistes.

Configuration: Windows Vista
Firefox 3.0

Meilleures réponses pour « srcipt test poid de fichier » dans :
Comment vérifier si mon antivirus est actif ? VoirLe test Si vous avez des doutes sur le fait que votre antivirus soit actif, il vous suffit de télécharger le fichier suivant Si votre antivirus bloque le téléchargement et vous affiche une alerte, tout va bien. Votre antivirus est actif. Si...
Robots.txt, un fichier important VoirSur votre site : le fichier robots.txt Sur votre site , vous essayez, dans la mesure du possible, de faire en sorte que vos pages soient indexées au mieux par les robots (spiders) des moteurs de recherche. Mais il peut également arriver que...
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Fichier ISO (Image ISO) VoirFormat ISO Un fichier possédant l'extension .ISO est une image ISO, c'est-à-dire une image d'un disque (CD, DVD ou disque dur) sous forme de fichier, créer avec un logiciel de gravure. Comment lire un fichier ISO ? En l'absence de graveur, il...
Apache - Les fichiers .htaccess VoirLes fichiers .htaccess sont des fichiers de configuration d'Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires (qui n'ont pas de tel fichier à l'intérieur). On peut les utiliser pour protéger un répertoire...
Formats et extensions de fichiers VoirRemarque : La liste ci-dessous n'est pas exhaustive et certains noms d'extension peuvent avoir plusieures fonctionnalités. Quant aux programmes proposés pour utiliser ces fichiers, ils ne sont pas forcément les seuls, ni les plus...

1

lami20j, le 31 jui 2008 à 13:18:09

Salut,

taille=$(du -sh fichier.txt)
et ensuite tu tu utilises la valeur contenu par la variable taille
voir man du pour voir si tu veux utiliser -h ou -H 106485010510997108

Répondre à lami20j

2

vitcz, le 31 jui 2008 à 14:36:25

Merci lami20j,

alors si j'ai bien compris :
du - estimate file space usage : attributs de taille (c'est ce que je ne trouvais pas)

-s ignore les poids des fichiers ou dossiers sous-jacents,
-f affiche en langage dis humain c'est a dire en Mo avec l'unité derrière la valeur.
là on lui prefere --si d'apres mes premiers tests.

Mais j'ai un problème dans ma syntaxe : car pour différencier, il faut utiliser les expressions arithmétiquesd u style ((a <= b)) then ... Or si ma variable $taille me sors en langage Human, alors il ne s'agit plus de chiffre mais de chaine de caractere dirait on...donc les comparaterus arythmétique ne fonctionnent pas....si je n'utilise pas -h ni -H ni --ssi, alors il faut que je code mes 100Mo en octes est ce que cela fait bien ... ( 100x1024x1024 = 104 857 600) ?

Je m'en remet aux expert développeurs ? J'imagine que c'est une problématique ancestrale et résolut. Merci pour vos lumières.

mes scripts de test ressemblent a cela :


#debut du script1

taille=$(du --si filename.tar.gz)

if (($taille >= 104 857 600)); then

echo "ne peut etre envoyé"

exit 1
fi;

#fin du scirpt

OU

#debut du script 2

taille=$(du --si filename.tar.gz)

if [$taille >= 100M] ; then

echo "ne peut etre envoyé"

exit 1
fi;

#fin du scirpt

Répondre à vitcz

3

 vitcz, le 1 aoû 2008 à 10:35:02

Bonjoru a tous,

Alors j'ai un peu avancé mais je bloque encore avec ce script qui dois tester le poid d'un fichier avant son envoi :

#!/bin/bash
#debut script------------------------

taille=$(du -sm $filename1.tar.gz |awk '{print $1}')

ftp $hostftp <<EOF
bin
cd $dossierftp
send $filename1.tar.gz
quit
bye
EOF
echo "le fichier a été envoyé"
else
echo "le fichier est trop lourd, merci de supprimer des fichierss"
exit;
fi;
#finscript-------------------------------------------

Répondre à vitcz