آموزش اتصال به فضای ابری پارس پک ازطریق s3cmd

آموزش اتصال به فضای ابری پارس پک ازطریق s3cmd
Avatar
نویسنده: سانیا عبدی‌پور
پنج‌شنبه 3 آذر 1401
مطالعه: ۱۱ دقیقه ۰ نظر ۲۲۰۷ بازدید

یکی از راه‌های اتصال به فضای ابری پارس پک که از پروتکل S3 استفاده می‌کند، ابزاری به نام S3cmd است. در این مقاله، می‌خواهیم نحوه دانلود S3cmd و نصب و استفاده از این ابزار را به شما آموزش دهیم. همچنین با کلیک روی لینک‌های زیر، به آموزش‌ روش‌های دیگر اتصال به فضای ذخیره‌سازی ابری می‌توانید دسترسی داشته باشید.

S3cmd چیست؟

نرم‌افزار S3cmd یکی از ابزارهای خط فرمان رایگان و متن‌باز سمت کاربر برای بارگذاری و بازیابی و مدیریت داده‌ها در فضاهای ابری است. این ابزار از پروتکل S3 استفاده می‌کند و به کاربرانی توصیه می‌شود که با برنامه‌های خط فرمان آشنایی دارند.

S3cmd با استفاده از زبان برنامه‌نویسی پایتون نوشته شده و پروژه‌ای متن‌باز تحت GNU Public License v2 است که می‌توان به‌‌رایگان از آن هم برای کاربردهای خصوصی و هم برای کاربردهای تجاری روی سیستم‌عامل‌های مختلف مثل ویندوز و مک و لینوکس استفاده کرد. از زمان معرفی این ابزار مدیریت فضای ابری در سال ۲۰۰۸، قابلیت‌ها و امکانات متعددی به آن اضافه شده‌اند.

آشنایی با پروتکل S3

پروتکل S3 مخفف عبارت Simple Storage Service و به‌معنی «سرویس ذخیره‌سازی ساده» است و پرکاربردترین سرویس ذخیره‌سازی ابری عمومی شناخته می‌شود. به ابرهایی که از این پروتکل استفاده می‌کنند، S3 Compatible Storage یا «حافظه سازگار با S3» گفته می‌شود.

فایل‌هایی که در S3 ذخیره می‌شوند، آبجکت (Object) یا شیء نام دارند و نام‌های این آبجکت‌ها کلید (key) نامیده می‌شوند. از‌آن‌جاکه این اصطلاحات می‌توانند کمی گیج‌کننده باشند، گاهی اوقات از اصطلاح «فایل» یا «فایل ریموت» (Remote File) به‌جای آبجکت استفاده می‌شود.

هر آبجکت به یک «باکت» (Bucket) تعلق دارد. باکت‌ها نوعی دایرکتوری یا پوشه هستند که محدودیت‌هایشان ازاین‌قرارند:

  • هر کاربر حداکثر می‌تواند ۱۰۰ باکت داشته باشد.
  • هر کاربر S3 باید از نام‌های منحصر‌به‌فردی روی باکت‌های خودش قرار دهد.
  • نام باکت فقط می‌تواند شامل حروف الفبا، اعداد، نقطه (.) و دش (-) باشد.

ازآن‌جاکه فضای ذخیره‌سازی ابری پارس پک از پروتکل S3 آمازون استفاده می‌کند، به‌منظور اتصال به آن از S3cmd می‌توانید استفاده کنید. برای کار با رابط کاربری S3cmd، باید اطلاعات باکت فضای ابری خود را به آن بدهید.

نرم‌افزار S3cmd ابزاری کارآمد برای مدیریت داده‌ها در فضای ابری است. اتصال به فضای ابری پارس پک ازطریق S3cmd به شما کمک می‌کند بتوانید فایل‌ها و پوشه‌های موجود در فضای ابری خود را به‌راحتی دانلود/آپلود و حذف و ویرایش کنید.

آموزش نصب S3cmd

حالا که با ابزار S3cmd آشنا شدید، نحوه نصب و استفاده از آن را توضیح می‌دهیم (برای دانلود S3cmd کلیک کنید). ابزار S3cmd به دو فرمت زیر منتشر می‌شود:

۱. فایل RPM پیش‌ساخته

۲. پکیج منبع .tar.gz

۱. نصب پکیج Brew

برای نصب S3cmd روی سیستم‌عامل‌های مک یا لینوکس، فرمان زیر را وارد کنید:

brew install s3cmd

۲. نصب پکیج RPM

برای نصب پکیج RPM ابزار S3cmd، باید کاربر روت باشید و فرمان زیر را وارد کنید:

rpm -ivh s3cmd-X.Y.Z.noarch.rpm

در فرمان بالا، به‌جای X.Y.Z جدیدترین نسخه منتشر‌شده S3cmd را قرار دهید. برای مثال، اگر تازه‌ترین نسخه این ابزار نسخه 2.2.0 باشید، باید فرمان زیر را وارد کنید:

rpm -ivh s3cmd-2.2.0.noarch.rpm

نکته: ممکن است با خطای Missing Dependencies برای پایتون یا بعضی از کتابخانه‌ها مواجه شوید. در این صورت، با پشتیبانی پارس پک تماس بگیرید.

۳. نصب S3cmd از PyPA 

امکان نصب S3cmd از PyPA با استفاده از PIP نیز فراهم است. برای این کار، طبق مراحل زیر پیش بروید:

۱. ابزار PIP را نصب کنید.

۲. S3cmd را با PIP نصب کنید. برای این کار، باید فرمان زیر را وارد کنید:

sudo pip install s3cmd

۴. نصب S3cmd از فایل زیپ

سه راه برای اجرای S3cmd از tarball منبع وجود دارد:

۱. برنامه s3cmd دانلود‌شده به‌صورت فایل زیپ از s3cmd-X.Y.Z.tar.gz و SourceForge یا master.zip از GitHub را مستقیماً از جایی که پکیج را از حالت فشرده خارج کرده‌اید، می‌توانید اجرا کنید.

۲. فایل S3cmd و ساب‌دایرکتوری S3 را به مسیر دیگری در سیستم خود می‌توانید منتقل کنید. مطمئن شوید که ساب‌دایرکتوری S3 را در همان مسیری قرار می‌دهید که فایل s3cmd را قرار داده‌اید.

۳. بهترین روشی که آن را توصیه می‌کنیم، این است که پکیج را از حالت فشرده خارج و سپس فرمان زیر را وارد کنید:

python setup.py install

برای این کار، نیازمند ماژول Distutils پایتون هستید. معمولاً این ماژول در پکیج هسته پایتون (پکیج OpenSuse Python 2.5) قرار دارد یا آن را با استفاده از پکیج منیجر، یعنی در Debian و با استفاده از دستور زیر می‌توانید نصب کنید:

apt-get install python-setuptools

برای پیدا‌کردن نام واقعی پکیج و نحوه نصب آن، با پشتیبانی پارس پک در تماس باشید. در‌صورتی‌که در سیستم‌عامل لینوکس کاربر روت نیستید، فرمان زیر را وارد کنید:

sudo python setup.py install
نحوه اتصال به فضای ابری پارس پک
اتصال به فضای ابری پارس پک ازطریق s3cmd

آموزش کانفیگ‌کردن S3cmd

پس از نصب ابزار S3cmd، می‌توانید برای کانفیگ‌کردن این ابزار به‌صورت زیر عمل کنید:

۱. رابط کاربری S3cmd را با فرمان زیر اجرا کنید:

s3cmd --configure

۲. پس از اجرای S3cmd، دو کلید از شما خواسته می‌شود. کلیدهایی که پس از خرید فضای ابری پارس پک دراختیارتان قرار می‌گیرد، وارد کنید. هنگام کپی‌کردن این کلیدها، دقت لازم را به‌خرج دهید؛ زیرا این کلیدها به حروف بزرگ و کوچک حساس هستند.

ذخیره اطلاعات در فضای ابری پارس پک
آموزش پیکربندی S3cmd

۳. برای ارتباط با فضای ابری، شما می‌توانید بین دو گزینه HTTP و HTTPS یکی را انتخاب کنید. همان‌طور‌که می‌دانید، HTTPS نسخه‌ای رمزنگاری‌شده از پروتکل HTTP است و با انتخاب آن، می‌توانید از اطلاعات خود محافظت کنید.

نکته: دقت کنید که پروتکل‌های رمزنگاری GPG و HTTPS با همدیگر تفاوت دارند و برای مقاصد مختلفی استفاده می‌شوند. در‌حالی‌که GPG از اطلاعات ذخیره‌شده شما در فضای ابری در‌مقابل خوانده‌شدن محافظت می‌کند، پروتکل HTTPS از خوانده‌شدن این اطلاعات هنگام آپلود‌شدن (مثلاً به‌وسیله ارائه‌کننده سرویس اینترنتی شما) جلوگیری می‌کند. هر‌کدام از این پروتکل‌ها مزیت‌ها و معایب خاص خودشان را دارند و بسته به نیازتان، هر دو یا یکی از آن‌ها یا هیچ‌کدام را می‌توانید انتخاب کنید.

اتصال به فضای ابری پارس پک ازطریق s3cmd
اتصال به فضای ابری پارس پک چطور است؟

اگر نمی‌دانید فضای ابری چیست و چه مزیت‌ها و کاربردهایی دارد، مقاله زیر را بخوانید.

فضای ذخیره سازی ابری چیست؟

آموزش استفاده از S3cmd

۱. پس از اجرای نرم‌افزار و واردکردن کلیدها، باکت خود را می‌توانید مشاهده کنید. برای فهرست‌کردن محتویات موجود در باکت، فرمان زیر را وارد کنید:

$ s3cmd ls …

به‌جای سه‌نقطه، نام باکت خود را قرار دهید. برای مثال، اگر نام باکت شما my-bucket-name باشد، برای دیدن فهرست محتویات موجود در باکت، باید فرمان زیر را وارد کنید:

$ s3cmd ls my-bucket-name

۲. برای آپلود‌کردن یک فایل (مثلاً فایل somefile.xlm) در باکت خود، باید دستور زیر را وارد کنید:

$ s3cmd put some-file.xml my-bucket-name/somefile.xml

some-file.xml -> my-bucket-name/somefile.xml  [1 of 1]
 123456 of 123456   100% in    2s    51.75 kB/s  done

برای آپلود‌کردن یک Two-Directory Tree به درون درایو مجازی باکت، دستور زیر را وارد کنید:

$ s3cmd put --recursive dir1 dir2 my-bucket-name/دایرکتوری مورد نظر/

File 'dir1/file1-1.txt' stored as 'my-bucket-name/somewhere/dir1/file1-1.txt' [1 of 5]
File 'dir1/file1-2.txt' stored as 'my-bucket-name/somewhere/dir1/file1-2.txt' [2 of 5]
File 'dir1/file1-3.log' stored as 'my-bucket-name/somewhere/dir1/file1-3.log' [3 of 5]
File 'dir2/file2-1.bin' stored as 'my-bucket-name/somewhere/dir2/file2-1.bin' [4 of 5]
File 'dir2/file2-2.txt' stored as 'my-bucket-name/somewhere/dir2/file2-2.txt' [5 of 5]

همان‌طورکه می‌بینید، به ایجاد «دایرکتوری مدنظر» نیازی نیست. در‌واقع، این دایرکتوری فقط یک پسوند فایل است و دایرکتوری واقعی محسوب نمی‌شود و نیازی نیست که آن را ازقبل ایجاد کرده باشید.

به‌جای فرمان put –recursive، از فرمان sync می‌توانید به‌صورت زیر استفاده کنید:

$ s3cmd sync dir1 dir2 my-bucket-name/دایرکتوری مورد نظر/

۳. محتویات باکت را مجدداً فهرست کنید:

$ s3cmd ls my-bucket-name

                       DIR   my-bucket-name/somewhere/
2009-02-10 05:10    123456   my-bucket-name/somefile.xml

برای نمایش فهرست تمامی فایل‌ها، از فرمان –recursive یا (-r) استفاده کنید:

$ s3cmd ls --recursive my-bucket-name

2009-02-10 05:10    123456   my-bucket-name/somefile.xml
2009-02-10 05:13        18   my-bucket-name/somewhere/dir1/file1-1.txt
2009-02-10 05:13         8   my-bucket-name/somewhere/dir1/file1-2.txt
2009-02-10 05:13        16   my-bucket-name/somewhere/dir1/file1-3.log
2009-02-10 05:13        11   my-bucket-name/somewhere/dir2/file2-1.bin
2009-02-10 05:13         8   my-bucket-name/somewhere/dir2/file2-2.txt

۴. برای بازیابی یکی از فایل‌ها (در این‌جا somefile.xml) و بررسی آسیب‌دیده بودن یا نبودن آن، از فرمان‌های زیر استفاده کنید:

$ s3cmd get s3://public.s3tools.org/somefile.xml some-file-2.xml

s3://public.s3tools.org/somefile.xml -> some-file-2.xml  [1 of 1]
 123456 of 123456   100% in    3s    35.75 kB/s  done
$ md5sum some-file.xml some-file-2.xml

39bcb6992e461b269b95b3bda303addf  some-file.xml
39bcb6992e461b269b95b3bda303addf  some-file-2.xml

برای بازیابی یک Directory Tree کامل، از فرمان زیر استفاده کنید:

$ s3cmd get --recursive my-bucket-name/somewhere

File my-bucket-name/somewhere/dir1/file1-1.txt saved as './somewhere/dir1/file1-1.txt'
File my-bucket-name/somewhere/dir1/file1-2.txt saved as './somewhere/dir1/file1-2.txt'
File my-bucket-name/somewhere/dir1/file1-3.log saved as './somewhere/dir1/file1-3.log'
File my-bucket-name/somewhere/dir2/file2-1.bin saved as './somewhere/dir2/file2-1.bin'
File my-bucket-name/somewhere/dir2/file2-2.txt saved as './somewhere/dir2/file2-2.txt'

۵. برای پاک‌کردن فایل‌ها، از فرمان زیر استفاده کنید:

$ s3cmd del --recursive my-bucket-name/دایرکتوری مورد نظر/

File my-bucket-name/somewhere/dir1/file1-1.txt deleted
File my-bucket-name/somewhere/dir1/file1-2.txt deleted
...

برای پاک‌کردن باکت، از فرمان زیر استفاده کنید:

$ s3cmd rb my-bucket-name

ERROR: S3 error: 409 (BucketNotEmpty): The bucket you tried to delete is not empty

همان‌طور‌که می‌بینید، باکت خالی نیست و با پیام بالا مواجه می‌شوید. در این صورت، با فرمان زیر باکت را پاک کنید:

$ s3cmd rb --force s3://public.s3tools.org/

WARNING: Bucket is not empty. Removing all the objects from it first. This may take some time...
File s3://public.s3tools.org/somefile.xml deleted
Bucket 's3://public.s3tools.org/' remove
استفاده از S3cmd چطور است؟
چطور از S3cmd برای اتصال به فضای ابری استفاده کنیم؟

جمع‌بندی

برای اینکه بتوانید پس از خرید فضای ابری پارس پک خود دسترسی پیدا کنید، می‌توانید از S3cmd استفاده کنید. در این مقاله از بلاگ پارس پک، نحوه دانلود و نصب این ابزار را توضیح دادیم و گفتیم که چطور می‌توانید S3cmd را کانفیگ و از آن استفاده کنید. امیدواریم که این مطلب آموزشی برای شما مفید بوده باشد.

سؤالات متداول

۱. S3cmd چیست؟

S3cmd نرم‌افزار خط فرمانی است که برای اتصال به فضای ابری خریده‌شده از پارس پک، باید آن را روی سیستمتان نصب کنید.

۲. آیا نسخه ویندوز برای S3cmd وجود دارد؟

بله، این نرم‌افزار نسخه‌هایی برای سیستم‌عامل‌های متنوع مثل نسخه‌های مختلف لینوکس و ویندوز و مک دارد.

۳. برای دسترسی به باکت خود با استفاده از نرم‌افزار S3cmd به چه اطلاعاتی نیاز داریم؟

برای استفاده از نرم‌افزار S3cmd، باید نام باکت خود را بدانید و کلیدهایی برای راه‌اندازی و کانفیگ‌کردن نرم‌افزار روی سیستم خود داشته باشید. نام باکت و کلیدهای استفاده از ابزار ابری S3cmd پس از خرید فضای ابری از پارس پک دراختیارتان قرار می‌گیرند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


ارسال دیدگاه در وبلاگ پارس‌پک را مطالعه کرده و آن‌ها را می‌پذیرم.