На linux box с python
(с установщиком pip
), grep
и awk
, установите AWS CLI (инструменты командной строки для EC2, S3 и многих других сервисов)
sudo pip install awscli
, затем создайте файл .awssecret
в своей домашней папке с содержимым, как показано ниже (при необходимости измените ключ, секрет и регион):
[default]
aws_access_key_id=<YOUR_KEY_HERE>
aws_secret_access_key=<YOUR_SECRET_KEY_HERE>
region=<AWS_REGION>
Сделать этот файл доступным для чтения и записи только для вашего пользователя:
sudo chmod 600 .awssecret
и экспортируйте его в свою среду
export AWS_CONFIG_FILE=/home/<your_name>/.awssecret
затем запустите в терминале (это однострочная команда, разделенная \
для удобства чтения здесь):
aws s3 ls s3://<bucket_name>/foo/bar | \
grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | \
awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
- часть
aws
содержит список сегментов (или, опционально, «подпапку»)
- часть
grep
удаляет (используя -v
) строки, которые соответствуют регулярному выражению (используя -E
). ^$
для пустой строки, --
для разделительных строк на выходе aws s3 ls
- последний
awk
просто добавьте к total
3-й столбец результирующего вывода (размер в КБ), затем отобразите его в конце
ПРИМЕЧАНИЕ эта команда работает для текущего сегмента или «папки», а не рекурсивно