Pregunta
He escrito una secuencia de comandos para obtener el tamaño de mi almacenamiento S3, la secuencia de comandos funciona bien salvo el hecho de que sigue en bucle y nunca termina.Obtengo todas las salidas que necesito, pero las sigue pasando.
¿Alguna idea sobre por qué está en bucle?
#!/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
Solución
Cambie s3cmd du -H $USAGE
a s3cmd du -H s3://$USAGE
Sin el s3://
, s3cmd da por defecto la lista de todos los depósitos.Apuesto a que s3buckets.txt
solo tiene los nombres de los depósitos, no el prefijo del protocolo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow