Ali
Ali
خواندن ۳ دقیقه·۲ سال پیش

کار با s3cmd در دبیان

اصن s3cmd چیه و چیکار میکنه؟ و چه طوری میشه ازش استفاده کرد؟

اول از همه یه توضیح خیلی ساده در مورد s3 یا در واقع amazon s3 باید بدم. s3 در رواقع مخفف Amazon Simple Storage Service هستش که بهش Object Storage میگیم، یک فضای ذخیره سازی اطلاعات که مقیاس پذیری، دردسترس بودن داده و امنیت رو ارائه میده.

کاربران و شرکت‌ها در هر اندازه از این فضای ذخیره سازی رو که نیاز داشته باشن می‌تونن تهیه کنن، هر اندازه منظورم بیش از 10 ترابایت هستش. خوبی Amazon s3 اینه که خیلی راحت میشه با API بهش وصل شد و هرکاری دلمون میخواد رو انجام بدیم، مثلن تعریف سطوح دسترسی، تعریف policy های متفاوت، ایجاد لیست دسترسی و همین طور با ابزار هایی که هست میشه به صورت خودکار بک آپ‌هامون رو روش ذخیره کنیم.

  • تو این آموزش به دلیل تحریم بودن نمیشه از Amazon استفاده کرد، من از فضای ابری ابرآروان استفاده کردم به این دلیل که هم 5 گیگش رایگانه هم ساختار S3 داره و هم در کنار API که ارائه داده یه سری SDK با زبان‌های متفاوت هم برای استفاده قرار داده.

برای متصل شدن به این فضای ابری ابزارهای زیادی وجود داره، به عنوان مثال s3browser برای ویندوز، s3cmd برای لینوکس، TNTdrive یا CloudBerry. اینو باید بگم که هر ابزاری که s3 compatible باشه میتونه با این فضا ارتباط داشته باشه.

خب بریم سراغ اصل مطلب یعنی کار با s3cmd تو لینوکس و دیدن یه سری دستورات خوب که بکارمون میاد.

اول از نصب s3cmd شروع می‌کنیم:

` sudo apt-get install s3cmd `

بعد از نصب باید کانفیگش کنیم یعنی از طریق API به فضای ابری وصل بشیم، این مورد نیازمند سه چیز اصلی یعنی Endpoint URL, Access key, Secret key هستش که این موارد رو باید از آمازون استوریج یا ما که از آروان استفاده می‌کنیم، بگیریم. تو حساب کاربریتون در ابرآروان برید و رو Storage کلیک کنید تو بخش پیشخوان سمت چپ نوشته شده "اتصال از طریق API" که این سه مورد رو براتون گذاشته.

دستور زیر رو میزنم تا s3cmd رو کانفیگ کنیم:

` s3cmd --configure `

با صفحه‌ی زیر مواجه می‌شید:

کانفیگ کردن s3cmd
کانفیگ کردن s3cmd

اول از شما Access key رو میپرسه که همون طور که گفتم از تو پیشخوان می‌تونید بردارید، اینجا واردش کنید

بعد از شما Secret key رو میپرسه که باید وارد کنید. بعد از این مرحله از شما Endpoint URL رو میخواد که به صورت پیش‌فرض رو s3.amazonaws.com ست شده، اینجا ما برای ابرآروان رو وارد می‌کنیم.

بعدش از شما هدف یا تارگت رو میخواد که باید نحوه ساختار فضای ابری رو وارد کنید که به صورت پیش‌فرض رو آمازون ست شده و ما این مورد رو تغییر میدیم به ابرآروان، این مورد برای اینه که بتونه به راحتی با باکت‌ها (صندوقچه‌ها) ارتباط داشته باشه:

` [%(bucket).s3.ir-thr-at1.arvanstorage.com] `

تا اینجا این موارد از مهم ترین ها بودن بقیه موارد رو به صورت دلخواه می‌تونید وارد کنید، مثلن از شما می‌پرسه میخوای برای رمزنگاری، پسورد بزارید یا نه، یا میخوای از پروتکل HTTPS استفاده کنی یا نه، در آخر هم از تنظیمات یه خروجی نشون میده که با ذخیره کردن ازش خارج میشه.

یه سری دستورات رو با نتیجه‌ش براتون میزارم:

دیدن لیستی از باکت‌های موجود در فضای ابری دستور ` s3cmd ls ` رو وارد کنید:

لیت باکت ها
لیت باکت ها

برای ساختن باکت (صندوقچه) از دستور ` s3cmd mb s3://bucketname ` استفاده می‌کنیم، فقط حواستون باشه باید یک اسم خاص انتخاب کنید نه یه اسم تکراری.

ساختن یک باکت
ساختن یک باکت

دستور ` /s3cmd put file.txt s3://bucketname ` برای ارسال یه فایل به باکت مدنظر هستش:

ارسال فایل به باکت
ارسال فایل به باکت

ارسال یک دایرکتوری یا یک پوشه به باکت: ` s3cmd put -r bucket s3://bucketname/ ` :

ارسال پوشه به باکت
ارسال پوشه به باکت

اگر مد نظر شما این باشه که تمامی فایل های یک دایرکتوری یا پوشه رو به باکت بفرستید می‌تونید بعد از اسم فایل یه اسلش / وارد کنید. ` s3cmd put -r bucket/ s3://bucketname/ `.

اگر بخواین یه فایلی رو از باکت دانلود کنید از دستور زیر استفاده می‌کنیم:

` s3cmd get s3://bucketname/file.txt `

دانلود فایل از باکت
دانلود فایل از باکت

برای پاک کردن فایل : ` s3cmd del s3://bucketname/file.txt ` :

پاک کردن فایل از باکت
پاک کردن فایل از باکت

و در اخر هم پاک کردن یک باکت: ` s3cmd rb s3://bucketname ` :

پاک کردن خود باکت
پاک کردن خود باکت



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

فضای ابریs3لینوکسstorageaws
خلاصه‌ای از همه چی، یه DevOps ساده که سعی میکنه چیزای جدید رو یاد بگیره، و با لبخند ادامه میده.
شاید از این پست‌ها خوشتان بیاید