मुझे कमांड लाइन से अमेज़ॅन ग्लेशियर के लिए बैकअप फ़ाइलों के लिए एक सरल तरीके की आवश्यकता है?


19

मेरे पास cPmove फ़ाइलों की एक निर्देशिका के साथ एक CentOS सर्वर ऑनलाइन है जो मुझे अमेज़ॅन ग्लेशियर को वापस करने की आवश्यकता है। मेरे पास केवल कमांड लाइन एक्सेस है, कोई GUI नहीं।

मुझे एक कमांड लाइन क्लाइंट की आवश्यकता है जो फ़ाइलों को अपलोड करने के लिए उपयोग करना अपेक्षाकृत आसान है। उदाहरण के लिए मैंने इस सरल bash स्क्रिप्ट के साथ dropbox_uploader.sh से पहले ( https://github.com/andreafabrizi/Dropbox-Uploader ) का उपयोग किया है :

#!/bin/bash
find /backup_folder -maxdepth 1 -name "cpmove-*.tar.gz" | while read CPMOVE
do
   ./dropbox_uploader.sh upload ${CPMOVE}
done

मैंने इसे एक देखा: https://github.com/carlossg/glacier-cli लेकिन मेरे पास सर्वर पर जावा इंस्टाल नहीं है और इसे इंस्टॉल करने में थोड़ा झिझक रहा हूं, यह सभी सुरक्षा मुद्दों के कारण हाल ही में हुआ है।

मेरे पास अजगर और माणिक हैं:

me@server [/home]# python -V
Python 2.4.3
root@server [/home]# ruby --version
ruby 1.8.7 (2012-06-29 patchlevel 370) [i686-linux]
me@server [/home]#

क्या कोई माणिक (बेहतर) या अजगर या अन्य भाषा (कम बेहतर) अमेजन ग्लेशियर कमांड लाइन क्लाइंट है?)


क्षमा करें, मैंने ग्लेशियर में गहराई से नहीं देखा था, मुझे लगा कि आपके पास सामान्य एसएस पहुंच है। उत्तर हटा दिया गया।
टेराडॉन

मुझे तब से पता चला है कि मैं रूबी के कोहरे वाले मणि के साथ s3 पर अपलोड कर सकता हूं। फिर, s3 के aws प्रबंधन कंसोल से, मैं एक समाप्ति नीति निर्धारित कर सकता हूं और ग्लेशियर में संग्रहीत फाइलें प्राप्त कर सकता हूं। काम करता है। इसके अलावा, कोहरा सीधे ग्लेशियर का समर्थन करता है, लेकिन मैंने अभी तक उस पर ध्यान नहीं दिया है। किसी के लिए यह उत्सुक है, यहाँ s3 पर अपलोड करने के लिए मेरी रूबी स्क्रिप्ट है: gist.github.com/ivanoats/4712421
इवान

जवाबों:


9

पायथन के माध्यम से एडब्ल्यूएस के साथ हस्तक्षेप करने के लिए विहित पुस्तकालय बोटो है । हालांकि इसे पायथन लिपि में पुस्तकालय के रूप में उपयोग करने का इरादा है, यह स्वतंत्र रूप से उपयोग करने के लिए पर्याप्त सरल है। आप ठीक प्रलेखन को स्किम कर सकते हैं , और इस पृष्ठ में बोटो का उपयोग करने का एक तरीका है, लेकिन यहां महत्वपूर्ण भाग हैं:

अपने AWS क्रेडेंशियल्स में डालें ~/.boto:

[Credentials]
aws_access_key_id = FOO
aws_secret_access_key = BAR

अपने वाल्टों की सूची बनाएँ:

$ glacier vaults

एक फाइल अपलोड करें:

$ glacier upload foo-vault foo.zip

किसी विशेष तिजोरी पर लंबित नौकरियों की सूची बनाएं:

$ glacier jobs foo-vault

हालाँकि यह वास्तव में Boto की तुलना में उपयोग करना आसान नहीं है, अमेज़न ग्लेशियर CLI इंटरफ़ेस Boto पर आधारित है और वास्तव में अंतिम उपयोगकर्ताओं के लिए डिज़ाइन किया गया है। यहाँ इसके लिए एक ट्यूटोरियल है।

अंतिम रूप से आधिकारिक AWS-CLI का उपयोग करना आसान है। साख रखो में ~/.aws/credentialsऔर फिर बस इन आदेशों का उपयोग:

एक तिजोरी बनाएँ:

$ aws glacier create-vault --account-id - --vault-name foo-vault

एक फ़ाइल अपलोड करें :

$ aws glacier upload-archive --account-id - --vault-name foo-vault --body foo.zip

1
मजेदार बात यह है कि आपका कदम upload-archiveभी डॉक्स.व्हाज़मेजॉन
cli

यह निर्देश केवल तभी काम करेंगे जब आपका वॉल्ट बोटो (यूएस-पूर्व -1) के लिए डिफ़ॉल्ट क्षेत्र में हो। अन्यथा, आपको क्षेत्र निर्दिष्ट करने की आवश्यकता है। जैसे अगर आपकी तिजोरी सीए में है, तो कमांड होना चाहिए aws glacier vaults --region us-west-1
फोब्बरबेक्यू

4

Vsespb / mt-aws-glacier का प्रयास करें - CentOS के लिए आसान तैनाती निर्देशों के साथ अमेज़न ग्लेशियर के लिए पर्ल मल्टीथ्रेड मल्टीपार्ट सिंक।



3

github.com/numblr/glaciertools बैश स्क्रिप्ट प्रदान करता है जो आधिकारिक AWS कमांड लाइन क्लाइंट ( AWS CLI ) के साथ बड़ी फ़ाइल के mulitpart अपलोड को ऑर्केस्ट्रेट करता है । यह उस स्थिति में उपयोगी होता है जब आपका डेटा AWS सीएलआई के साथ किसी एकल ऑपरेशन में संग्रह अपलोड करने के लिए 4GB की सीमा से अधिक हो।

स्क्रिप्ट का उपयोग करने के लिए आपको AWS CLI स्थापित और सेटअप करना होगा, जिसके लिए अजगर की आवश्यकता होती है। लिंक में सेटअप के बारे में अतिरिक्त जानकारी है।

तब आप अपने बैकअप का एक संग्रह बना सकते हैं और इसे ग्लेशियर पर एक तिजोरी के साथ अपलोड कर सकते हैं

> ./glacierupload -v myvault /path/to/my/archive

अधिक विस्तृत जानकारी वहाँ प्रलेखन में निहित है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.