আমার AWS অ্যাকাউন্ট আছে। আমি বিভিন্ন সার্ভার থেকে ব্যাকআপ সঞ্চয় করতে এস 3 ব্যবহার করছি। আমার এস 3 ক্লাউডে ডিস্কের কত স্থান ব্যবহার হচ্ছে তা নিয়ে প্রশ্নটি এডাব্লুএস কনসোলে রয়েছে কি?
আমার AWS অ্যাকাউন্ট আছে। আমি বিভিন্ন সার্ভার থেকে ব্যাকআপ সঞ্চয় করতে এস 3 ব্যবহার করছি। আমার এস 3 ক্লাউডে ডিস্কের কত স্থান ব্যবহার হচ্ছে তা নিয়ে প্রশ্নটি এডাব্লুএস কনসোলে রয়েছে কি?
উত্তর:
ইয়েপ্প - এডাব্লুএস সিএলআই-এর একটি আপডেট আপনাকে বার বার বালতিগুলির মাধ্যমে পুনরাবৃত্তভাবে এলএস করার অনুমতি দেয় ...
aws s3 ls s3://<bucketname> --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time 2015-07-15T10:00:00 --end-time 2015-07-31T01:00:00 --period 86400 --statistics Average --region eu-west-1 --metric-name BucketSizeBytes --dimensions Name=BucketName,Value=toukakoukan.com Name=StorageType,Value=StandardStorage
গুরুত্বপূর্ণ উদাহরণ : আপনাকে অবশ্যই দুটি মাত্রার যুক্তিতে স্টোরেজ টাইপ এবং বকেটনাম উল্লেখ করতে হবে অন্যথায় আপনি কোনও ফল পাবেন না।
আমি নিশ্চিত নই যে এটি 3 বছর আগে মূল প্রশ্নটি যখন এডাব্লুএসসিএলআইতে যুক্ত হয়েছিল তবে কমান্ড লাইন সরঞ্জামটি চালিয়ে একটি দুর্দান্ত সংক্ষিপ্তসার দেয়:
aws s3 ls s3://mybucket --recursive --human-readable --summarize
for b in $(aws s3 ls | awk '{ print $NF }'); do printf "$b "; aws s3 ls s3://$b --recursive --human-readable --summarize | tail -1; done
এডাব্লুএস কনসোল ব্যবহার করে এস 3 বালতিটির আকার অনুসন্ধান করতে:
আশাকরি এটা সাহায্য করবে.
ls
ভিত্তিযুক্ত সমাধানগুলি না করে অসম্পূর্ণ আপলোডগুলিকে ক্যাপচার করবে ।
s3cmd আপনাকে চালিয়ে s3cmd du
দিয়ে এটি প্রদর্শন করতে পারে , বিকল্প হিসাবে বালতিটির নামটি আর্গুমেন্ট হিসাবে পাস করে।
AWS CLI এখন --query
প্যারামিটার সমর্থন করে যা একটি JMESPath এক্সপ্রেশন নেয় ath
এর অর্থ আপনি list-objects
ব্যবহার sum(Contents[].Size)
এবং পছন্দ মতো গণনা করে দেওয়া আকারের মানগুলি যোগ করতে পারেন length(Contents[])
।
এটি নীচের মতো অফিসিয়াল এডাব্লুএস সিএলআই ব্যবহার করে চালানো যেতে পারে এবং ফেব্রুয়ারী 2014 এ চালু হয়েছিল
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
In function sum(), invalid type for value: None, expected one of: ['array-number'], received: "null"
অন্যথায় কোয়েরিটি দুর্দান্ত কাজ করে!
লিনাক্স বাক্সে python
( pip
ইনস্টলার সহ) রয়েছে grep
এবং awk
এডাব্লুএস সি এল এল ইনস্টল করুন (ইসি 2, এস 3 এবং অন্যান্য অনেক পরিষেবার জন্য কমান্ড লাইন সরঞ্জাম)
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
তারপরে এটি প্রদর্শিত হবেদ্রষ্টব্য এই আদেশটি বর্তমান বালতি বা 'ফোল্ডার' এর জন্য কাজ করে, পুনরাবৃত্তির সাথে নয়
Https://serverfault.com/questions/84815/how-can-i-get-the-size-of-an-amazon-s3-bucket দেখুন
ভিক উত্তর দিয়েছেন ...
<?php
if (!class_exists('S3')) require_once 'S3.php';
// Instantiate the class
$s3 = new S3('accessKeyId', 'secretAccessKey');
S3::$useSSL = false;
// List your buckets:
echo "S3::listBuckets(): ";
echo '<pre>' . print_r($s3->listBuckets(), 1). '</pre>';
$totalSize = 0;
$objects = $s3->getBucket('name-of-your-bucket');
foreach ($objects as $name => $val) {
// If you want to get the size of a particular directory, you can do
// only that.
// if (strpos($name, 'directory/sub-directory') !== false)
$totalSize += $val['size'];
}
echo ($totalSize / 1024 / 1024 / 1024) . ' GB';
?>
echo ($totalSize / 1024 / 1024 / 1024) . ' GB';
উত্স কোডের নীচে লাইনটি ঠিক সেখানে রয়েছে।
পথ বড় বালতি API এর মাধ্যমে আকার (হয় আউস s4cmd CLI বা) বেশ ধীর। ব্যাশ ওয়ান লাইনার ব্যবহার করে কীভাবে এস 3 ব্যবহারের প্রতিবেদন পার্স করবেন তা আমার হাওটো এখানে ব্যাখ্যা করছে :
cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", $7/(1024**3 )/24, $4, $2}' | sort -n
অ্যাডাব্লুএস কনসোল আপনাকে এটি দেখায় না তবে আপনি বালতি মোট আকার পেতে বালতি এক্সপ্লোরার বা ক্লাউডবেরি এক্সপ্লোরার ব্যবহার করতে পারেন । উভয়েরই বিনামূল্যে সংস্করণ উপলব্ধ।
দ্রষ্টব্য: এই পণ্যগুলি এখনও প্রতিটি স্বতন্ত্র বস্তুর আকার পেতে হয়, তাই এটি প্রচুর পরিমাণে বস্তু সহ বালতিগুলিতে দীর্ঘ সময় নিতে পারে।
@ চাদের জবাবের ভিত্তিতে:
function s3size()
{
for path in $*; do
size=$(aws s3 ls "s3://$path" --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{printf "%.2fGb\n", (total/1024/1024/1024)}')
echo "[s3://$path]=[$size]"
done
}
...
$ s3size bucket-a bucket-b/dir
[s3://bucket-a]=[24.04Gb]
[s3://bucket-b/dir]=[26.69Gb]
এছাড়াও, সাইবারডাক্ক সুবিধাজনকভাবে একটি বালতি বা ফোল্ডারের আকারের গণনা করার অনুমতি দেয়।
মিনি জন এর উত্তর আমার পক্ষে পুরোপুরি কার্যকর! দুর্দান্ত ... যোগ করতে হয়েছিল
--region eu-west-1
যদিও ইউরোপ থেকে
এটি একটি পুরানো তদন্ত, তবে যেহেতু আমি উত্তরটি খুঁজছিলাম তখন আমি এটি জুড়ে ছুটে এসেছি। উত্তরের কয়েকটি আমাকে মনে রেখেছে আমি ডেটা পরিচালনা করতে এস 3 ব্রাউজার ব্যবহার করি। আপনি একটি বালতিতে ক্লিক করতে পারেন এবং বৈশিষ্ট্যগুলি হিট করতে পারেন এবং এটি আপনাকে মোট দেখায়। বেশ সহজ. আমি ব্রাউজারটির অত্যন্ত প্রস্তাব দিই: https://s3browser.com/default.aspx?v=6-1-1&fam=x64
ভাল, আপনি যদি কোনও মানববান্ধব UI পছন্দ করেন তবে আপনি এটি এস 3 ক্লায়েন্টের মাধ্যমেও করতে পারেন।
আমি ক্রসএফটিপি ব্যবহার করি যা নিখরচায় এবং ক্রস-প্ল্যাটফর্ম, এবং সেখানে আপনি ফোল্ডার ডিরেক্টরিটিতে ডান ক্লিক করতে পারেন -> "বৈশিষ্ট্যগুলি ..." নির্বাচন করুন -> আকার এবং ভয়েলার পাশের "গণনা" বোতামে ক্লিক করুন।
এস 3 এডমিন একটি ওপেনসোর্স অ্যাপ্লিকেশন (ইউআই) যা আপনাকে বালতিগুলি ব্রাউজ করতে, মোট আকার গণনা করতে, বৃহত্তম / ক্ষুদ্রতম ফাইলগুলি প্রদর্শন করতে দেয়। এটি আপনার বালতি এবং তাদের ব্যবহারের একটি দ্রুত পর্যালোচনা থাকার জন্য তৈরি করা হয়েছে।
আপনি জিজ্ঞাসা করেছেন: আমার এস 3 ক্লাউডে ডিস্কের স্পেস কত ব্যবহার করছে তা সম্পর্কে এডাব্লুএস কনসোলের তথ্য ?
আমি তাই বিলিংয়ের ড্যাশবোর্ডে গিয়ে বর্তমান বিলে এস 3 ব্যবহার পরীক্ষা করে নিই ।
তারা আপনাকে তথ্য দেয় - এমটিডি - জিবিতে 6 দশমিক পয়েন্ট, আইডাব্লু, কেবি স্তর পর্যন্ত।
এটি অঞ্চল অনুসারে ভেঙে গেছে, তবে এগুলি যুক্ত করা (ধরে নেওয়া যায় আপনি একাধিক অঞ্চল ব্যবহার করেছেন) এটি যথেষ্ট সহজ।
বিটিডাব্লু: বিলিংয়ের তথ্য পেতে আপনার নির্দিষ্ট আইএএম অনুমতি প্রয়োজন হতে পারে।
স্বতন্ত্র বালতিগুলির আকার পেতে আমি ক্লাউড টার্টল ব্যবহার করি । যদি বালতির আকার> 100 জিবি ছাড়িয়ে যায় তবে আকারটি প্রদর্শন করতে কিছুটা সময় লাগবে। ক্লাউড টার্টল ফ্রিওয়্যার।