استفاده از S3cmd برای اتصال به پارتیشن S3-compatible پشتیبان
ابزارهای مشابه زیادی برای سیستم عامل های مختلف وجود دارند که میتوانید از آنها برای اتصال و تعامل با آبجکت استوریج پشتیبان (پارتیشن S3- compatible) از آنها استفاده کنید. به همهی این ابزارها در راهنمای پارتیشن S3 پشتیبان دسترسی دارید. در این راهنما نحوهی اتصال با استفاده از ابزار S3cmd و اتصال به فضای ذخیره سازی ابری پشتیبان را برای شما توضیح خواهیم داد. از این ابزار به راحتی در توزیع های مختلف لینوکس میتوانید به فضای ابری خود پشتیبان متصل شوید.
برای دریافت مستندات کامل ابزار s3cmd به وب سایت یا برای دریافت جدید ترین نسخهی این ابزار به گیتهاب این ابزار مراجعه کنید.
نصب در لینوکس (CentOS و Ubuntu)
#ubuntu sudo apt-get install s3cmd #CentOS yum install s3cmd
برای دریافت آخرین نسخه از گیتهاب دستور زیر را وارد کنید آخرین نسخه در زمان نگارش این راهنما 2.1.0 است.
wget https://github.com/s3tools/s3cmd/releases/download/v2.1.0/s3cmd-2.1.0.tar.gz tar zxvf s3cmd-2.1.0.tar.gz cd s3cmd-2.1.0/
فایل .s3cfg را برای وارد کردن مشخصات اتصال پارتیشن S3 پشتیبان خود ویرایش کنید.
nano ~/.s3cfg # Setup endpoint host_base = [YOUR ENDPOINT] host_bucket = [YOUR ENDPOINT] bucket_location = us-east-1 use_https = True # Setup access keys access_key = [YOUR ACCESSKEY] secret_key = [YOURB SECRETKEY] # Enable S3 v4 signature APIs signature_v2 = False # Enable Multipart Upload enable_multipart = True multipart_chunk_size_mb = 50
نکته: کانفیگ بالا طبق مستندات minio می باشد. توجه داشته باشید که ممکن است برای عملکرد بهتر برخی از دستورات s3cmd ممکن است لازم باشد در کانفیگ بالا مقدار signature_v2 = True قرار دهید.
برای مشاهده همه ی دستورات و راهنمای s3cmd دستور زیر را وارد کنید:
./s3cmd
برای ایجاد باکت (Bucket) دستور زیر را وارد کنید:
s3cmd mb s3://mybucket Bucket 's3://mybucket/' created
برای کپی (آپلود) یک آبجکت از روی سیستم به باکت دستور زیر را استفاده کنید:
s3cmd put newfile s3://testbucket upload: 'newfile' 's3://testbucket/newfile'
برای کپی(دانلود) یک آبجکت از روی باکت به سیستم تان دستور زیر را استفاده کنید:
s3cmd get s3://testbucket/newfile download: 's3://testbucket/newfile' './newfile'
برای سینک کردن یک فایل/ دایرکتوری روی سیستمتان با باکت دستور زیر را وارد کنید:
s3cmd sync newdemo s3://testbucket upload: 'newdemo/newdemofile.txt' 's3://testbucket/newdemo/newdemofile.txt'
برای سینک کردن آبجکت روی باکت با باکت دیگر از دستور زیر استفاده کنید:
s3cmd sync s3://testbucket otherlocalbucket download: 's3://testbucket/cat.jpg' 'otherlocalbucket/cat.jpg'
برای مشاهده لیست باکتها در پارتیشن S3 پشتیبان تان دستور زیر را وارد کنید:
در مثال زیر یک باکت با نام testbbucket لیست شده است.
s3cmd ls s3:// 2015-12-09 16:12 s3://testbbucket
برای لیست کردن محتوای یک باکت دستور زیر را استفاده کنید:
s3cmd ls s3://testbucket/ DIR s3://testbucket/test/ 2015-12-09 16:05 138504 s3://testbucket/newfile
برای حذف محتوای یک باکت دستور زیر را بکارببرید:
s3cmd del s3://testbucket/newfile delete: 's3://testbucket/newfile'
برای حذف باکت از دستور زیر استفاده کنید:
s3cmd rb s3://mybucket Bucket 's3://mybucket/' removed
نکته: برای این که در هنگام بارگذاری و یا در حالت سینک ممکن است با قطع شدن و کمبود کیفیت سرویس اینترنت فایل تنظیمات در مسیر زیر را ویرایش کنید:
/usr/lib/python3/dist-packages/S3/S3.py
مقدار _max_retries را یک عدد بزرگ قرار دهید تا تعداد تلاش ها برای بارگزاری هنگام قطع شدن ارتباط بیشتر باشد همچنین در تابع def _fail_wait عدد بزرگتری از 3 (ثانیه) قرار دهید تا مدت زمان بیشتری تا تلاش بعدی و تلاش مجدد برای اپلود فاصله باشد.
def _fail_wait(self, retries): # Wait a few seconds. The more it fails the more we wait return (self._max_retries - retries + 1) * 3
برای دسترسی به مستندات S3cmd برای Minio به اینجا بروید.
برای دسترسی به مستندات کامل S3cmd در وبسایت رسمی اینجا بروید.
تماشا کنید: ویدیو نصب و بکارگیری ابزار S3cmd