bash
  • shell
  • s3cmd
  • 2011-12-06 152 views 0 likes 
    0

    我已經編寫了一個腳本來獲取我的S3存儲的大小,該腳本可以很好地阻止它繼續循環並永不結束的事實。我可以根據需要獲得所有輸出,但它一直在通過它們。S3 Bash腳本循環

    任何想法爲什麼它的循環?

    #!/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

    's3cmd ls'輸出的格式是什麼? – jman

    +0

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

    +0

    爲什麼當你打算用'USAGE = $ BLIST'來打開它時'一邊讀... <$ BUCKET'? – blahdiblah

    回答

    0

    變化s3cmd du -H $USAGEs3cmd du -H s3://$USAGE

    沒有s3://,s3cmd缺省是給予上市的所有桶。我打賭s3buckets.txt只有桶名稱,而不是協議前綴。

    +0

    s3bucklist.txt是s3的列表,然後blist.txt將它們剪切成正確的前綴列表,所以不知道這是否是原因 – Grimlockz

    +0

    啊,這是有道理的。問題是,你正在做所有的準備'$ BLIST',但是忽略它並從'$ BUCKET'讀取。 – blahdiblah

    相關問題