कमांड लाइन से अमेज़ॅन एस 3 कैसे प्रबंधित करें
अमेज़ॅन एस 3 क्लाउड पर अपनी फ़ाइलों का बैक अप लेने और स्टोर करने के लिए एक अच्छी जगह है। जबकि कुछ लोग इसका इस्तेमाल अपने व्यक्तिगत डेटा को स्टोर करने के लिए करते हैं, वहीं अन्य लोग हैं जो अपनी वेबसाइटों के लिए छवियों और स्क्रिप्ट को स्टोर करने के लिए इसका उपयोग करते हैं, और यहां तक कि इसे सीडीएन के रूप में भी इस्तेमाल करते हैं। अपने डेस्कटॉप पर, आप अपने अमेज़ॅन एस 3 खाते को आसानी से एक्सेस और प्रबंधित कर सकते हैं जैसे एस 3 फॉक्स, क्लाउडबेरी, ड्रैगनडिस्क इत्यादि, लेकिन यदि आपको कमांड लाइन से इसे एक्सेस करने की आवश्यकता है तो क्या होगा? यह वह जगह है जहां एस 3 सीएमडी उपयोगी है।
S3cmd अमेज़ॅन S3 में डेटा अपलोड करने, पुनर्प्राप्त करने और प्रबंधित करने के लिए एक नि: शुल्क कमांड लाइन उपकरण है। एस 3 के अलावा, यह अन्य क्लाउड स्टोरेज सेवा प्रदाताओं का भी समर्थन करता है जो एस 3 प्रोटोकॉल का उपयोग करते हैं, जैसे कि Google क्लाउड स्टोरेज या ड्रीमहोस्ट ड्रीमऑब्जेक्ट्स। इस उपकरण के लिए सबसे अच्छा उपयोग रिमोट सर्वर पर है जहां सबकुछ कमांड लाइन पर किया जाता है। वैकल्पिक रूप से, आप बैच स्क्रिप्ट और स्वचालित बैकअप को S3 बनाने के लिए भी इसका उपयोग कर सकते हैं।
S3cmd पायथन में लिखा गया है, इसलिए यह केवल सभी ऑपरेटिंग सिस्टम में समर्थित है, जब तक कि पाइथन स्थापित हो।
स्थापना
एस 3 सीएमडी अधिकांश लिनक्स भंडारों में पाया जाता है। डेबियन / उबंटू, या किसी अन्य एपीटी-आधारित डिस्ट्रो में, आप कमांड के साथ S3cmd इंस्टॉल कर सकते हैं:
sudo apt-s3cmd स्थापित करें
फेडोरा, Centos, या किसी अन्य यम आधारित distro के लिए:
sudo yum s3cmd स्थापित करें
वैकल्पिक रूप से, आप स्रोत कोड डाउनलोड कर सकते हैं, पैकेज को अनजिप कर सकते हैं और इंस्टॉलर चला सकते हैं:
sudo python setup.py स्थापित करें
शुरू करना
शुरू करने से पहले, आपको अपने अमेज़ॅन एस 3 की एक्सेस और गुप्त कुंजी तैयार करने की आवश्यकता होगी। आप अमेज़ॅन प्रबंधन कंसोल में एक्सेस और गुप्त कुंजी का पता लगा सकते हैं।
प्रारंभ करने के लिए, टर्मिनल खोलें और टाइप करें:
s3cmd --configure
यह आपको पहले अपनी एक्सेस और गुप्त कुंजी दर्ज करने के लिए संकेत देगा।
इसके बाद, आपको एक एन्क्रिप्शन कुंजी और जीपीजी प्रोग्राम के पथ को दर्ज करना होगा।
एन्क्रिप्शन कुंजी के बाद HTTPS प्रोटोकॉल का उपयोग करने के लिए संकेत है। डिफ़ॉल्ट विकल्प "नहीं" है, लेकिन आप अमेज़ॅन एस 3 के लिए एक और अधिक सुरक्षित कनेक्शन के लिए "हां" पर सेट कर सकते हैं। ध्यान दें कि HTTPS प्रोटोकॉल का उपयोग स्थानांतरण गति को धीमा कर देगा और यदि आप प्रॉक्सी का उपयोग कर रहे हैं तो इसका उपयोग नहीं किया जा सकता है।
एक बार जब आप सेटिंग्स को कॉन्फ़िगर और परीक्षण कर लेंगे, तो आप S3cmd का उपयोग करने के लिए आगे बढ़ सकते हैं। यदि आपको सेटिंग्स को बदलने की आवश्यकता है, तो आप या तो अपनी होम निर्देशिका में .s3cfg फ़ाइल संपादित कर सकते हैं, या फिर s3cmd --configure
आदेश चला सकते हैं।
प्रयोग
सबसे पहले, अपने एस 3 खाते में बाल्टी देखने के लिए, आप ls
कमांड का उपयोग कर सकते हैं।
एस 3 सीएमडी एलएस
बाल्टी बनाने के लिए, mb
कमांड का उपयोग करें:
एस 3 सीएमडी एमबी एस 3: // टेस्ट-एस 3 सीएमडी-बाल्टी
ध्यान दें कि आपको बाल्टी नाम को "s3: //" के साथ उपसर्ग करना होगा
बाल्टी में सामग्री को सूचीबद्ध करने के लिए, बाल्टी नाम के साथ ls
कमांड का उपयोग करें। उदाहरण के लिए:
s3cmd ls s3: // test-s3cmd-bucket
बाल्टी में फ़ाइल अपलोड कर रहा है
S3cmd के माध्यम से फ़ाइल अपलोड करने का सबसे आसान तरीका put
कमांड के साथ है। उदाहरण के लिए:
s3cmd text.txt s3: // test-s3cmd-bucket डालें
इसके अतिरिक्त, आप S3 पर अपलोड करने से पहले फ़ाइल को एन्क्रिप्ट करने के लिए --encrypt
पैरामीटर का उपयोग कर सकते हैं।
s3cmd put --encrypt text.txt s3: // test-s3cmd-bucket
put
कमांड के लिए डिफ़ॉल्ट अनुमति निजी है, जिसका अर्थ है कि फाइल केवल आपके द्वारा देखी जा सकती है। यदि आपको फ़ाइल को सार्वजनिक रूप से सुलभ होने की आवश्यकता है, तो आप पैरामीटर - --acl-public
जोड़ सकते हैं
s3cmd put --acl-public text.txt s3: // test-s3cmd-bucket
अधिक दानेदार नियंत्रण के लिए, --acl-grant=PERMISSION:EMAIL or USER_CANONICAL_ID
पैरामीटर का उपयोग करें। उदाहरण के लिए:
s3cmd put --acl-grant = read: [email protected] text.txt s3: // test-s3cmd-bucket
"PERMISSION" को "पढ़ा जा सकता है, " "लिखें, " "read_acp, " "write_acp, " "full_control, " "सब।"
बाल्टी से फ़ाइलों को पुनः प्राप्त करना
फ़ाइल पुनर्प्राप्त करने के लिए, get
कमांड का उपयोग करें।
s3cmd s3 प्राप्त करें: //test-s3cmd-bucket/text.txt text.txt
बाल्टी में सभी फ़ाइलों को डाउनलोड करने के लिए, बस --recursive
पैरामीटर संलग्न करें।
s3cmd get --recursive s3: // test-s3cmd-bucket
बाल्टी से फ़ाइलों को हटा रहा है
S3cmd के लिए डिलीट कमांड बस del
। उदाहरण के लिए:
s3cmd del s3: //test-s3cmd-bucket/text.txt
आप बाल्टी में सभी फ़ाइलों को हटाने के लिए --recursive
पैरामीटर का भी उपयोग कर सकते हैं।
s3cmd del --recursive s3: // test-s3cmd-bucket
अधिक S3cmd कमांड के लिए, यहां इसकी उपयोग मार्गदर्शिका देखें।
उन्नत उपयोग: एक फ़ोल्डर को S3 में सिंक्रनाइज़ करें
आइए मान लें कि आप अपनी सभी महत्वपूर्ण फाइलों को एक फ़ोल्डर में स्टोर करते हैं और आप इसे एस 3 में सिंक करना चाहते हैं। S3cmd एक sync
कमांड के साथ आता है जो स्थानीय फ़ोल्डर को दूरस्थ गंतव्य पर सिंक्रनाइज़ कर सकता है।
s3cmd सिंक - हटाया गया हटाया गया ~ / SecretFolder s3: // my-secret-bucket /
सिंक कमांड को नियमित रूप से चलाने के लिए आपको बस एक क्रोनबॉज बनाना है।
1. क्रोंटैब खोलें।
क्रोंटब-ए
2. क्रॉन्टाब के अंत में निम्न पंक्ति जोड़ें। Crontab सहेजें और बाहर निकलें।
5 * * * * s3cmd सिंक - हटाया गया हटाया गया ~ / SecretFolder s3: // my-secret-bucket /
बस। आपका सिस्टम अब गुप्त फ़ोल्डर को हर 5 मिनट में S3 में सिंक करेगा। आप अपने पसंदीदा अंतराल पर सिंक कमांड चलाने के लिए मान बदल सकते हैं। गुप्त फ़ोल्डर से हटाई गई प्रत्येक फ़ाइल को S3 से भी हटा दिया जाएगा।
निष्कर्ष
कमांड लाइन वातावरण में काम करने की आवश्यकता रखने वालों के लिए, कमांड लाइन से अमेज़ॅन एस 3 तक पहुंचने और प्रबंधित करने के लिए S3cmd वास्तव में एक शानदार टूल है। न केवल उपयोग करना आसान है, यह उन्नत उपयोग और स्क्रिप्टिंग आवश्यकताओं के लिए बहुत सारे विकल्पों के साथ आता है।