2011-12-06 1 views
0

J'ai écrit un script pour obtenir la taille de mon stockage S3, le script fonctionne bien, sauf qu'il continue à boucler et ne s'arrête jamais. Je reçois toutes les sorties dont j'ai besoin mais ça continue à les traverser.S3 Bash Script looping

Des idées sur pourquoi son bouclage?

#!/bin/sh 
DAY=$(date +"%d%b%Y") 
BUCKET='/home/user/Scripts/Holding/s3buckets.txt' 
BLIST='/home/user/Scripts/Holding/blist.txt' 
LOGDIR='/home/user/Scripts/Holding/' 
USAGE=$BLIST 
s3cmd ls > $BUCKET 
awk '{print $3}' $BUCKET > $BLIST 
while read USAGE; do 
s3cmd du -H $USAGE 
done < $BUCKET > $LOGDIR/S3Usage$DAY.txt 
+0

Quel est le format de sortie 's3cmd ls'? – jman

+0

'2011-01-28 15:24 s3: // bucket1 2010-12-24 10:51 s3: // bucket2' – Grimlockz

+0

Pourquoi avez-vous' USAGE = $ BLIST' quand vous allez l'écraser avec le 'en lecture ... <$ BUCKET'? – blahdiblah

Répondre

0

changement s3cmd du -H $USAGE à s3cmd du -H s3://$USAGE

Sans de donner la liste de tous les seaux s3://, s3cmd par défaut. Je parie que s3buckets.txt a juste les noms de compartiment, pas le préfixe de protocole.

+0

le s3bucklist.txt est la liste de s3 et puis le blist.txt les coupe dans une liste du préfixe correct donc pas sûr si c'est la raison – Grimlockz

+0

Ah, cela a du sens. Le problème est que vous faites tout cela pour préparer '$ BLIST' mais ensuite l'ignorer et lire' $ BUCKET'. – blahdiblah