Το Amazon S3 είναι ένα καλό μέρος για να δημιουργήσετε αντίγραφα ασφαλείας και να αποθηκεύσετε τα αρχεία σας φτηνά στο σύννεφο. Ενώ μερικοί άνθρωποι το χρησιμοποιούν για να αποθηκεύουν τα προσωπικά τους δεδομένα, υπάρχουν και άλλοι που το χρησιμοποιούν για να αποθηκεύουν εικόνες και σενάρια για τους ιστοτόπους τους, ακόμα και να το χρησιμοποιούν ως CDN. Στην επιφάνεια εργασίας σας, μπορείτε εύκολα να έχετε πρόσβαση και να διαχειρίζεστε τον λογαριασμό σας στο Amazon S3 με εφαρμογές όπως το S3Fox, το CloudBerry, το DragonDisk κ.λπ., αλλά τι γίνεται αν θέλετε να το έχετε πρόσβαση από τη γραμμή εντολών; Αυτό είναι όπου το S3cmd έρχεται χρήσιμο.

Το S3cmd είναι ένα δωρεάν εργαλείο γραμμής εντολών για τη μεταφόρτωση, ανάκτηση και διαχείριση δεδομένων στο Amazon S3. Εκτός από το S3, υποστηρίζει επίσης άλλους παρόχους υπηρεσιών αποθήκευσης cloud που χρησιμοποιούν το πρωτόκολλο S3, όπως το Google Cloud Storage ή το DreamHost DreamObjects. Η καλύτερη χρήση για αυτό το εργαλείο είναι στον απομακρυσμένο διακομιστή όπου όλα γίνονται στην γραμμή εντολών. Εναλλακτικά, μπορείτε επίσης να το χρησιμοποιήσετε για να δημιουργήσετε δέσμες ενεργειών δέσμης και αυτόματη δημιουργία αντιγράφων ασφαλείας στο S3.

Το S3cmd είναι γραμμένο σε Python, επομένως υποστηρίζεται σε όλα τα λειτουργικά συστήματα, εφόσον εγκαθίσταται η Python.

Εγκατάσταση

Το S3cmd βρίσκεται στα περισσότερα αποθετήρια Linux. Στο Debian / Ubuntu ή σε οποιαδήποτε άλλη διανομή που βασίζεται σε apt, μπορείτε να εγκαταστήσετε το S3cmd με την εντολή:

 sudo apt-get να εγκαταστήσετε s3cmd 

Για το Fedora, το Centos ή οποιοδήποτε άλλο distro με βάση το yum:

 sudo yum εγκαταστήσετε s3cmd 

Εναλλακτικά, μπορείτε να κατεβάσετε τον πηγαίο κώδικα, να αποσυνδέσετε το πακέτο και να εκτελέσετε το πρόγραμμα εγκατάστασης:

 sudo python setup.py install 

Ξεκινώντας

Πριν ξεκινήσετε, θα πρέπει να έχετε έτοιμο τα κλειδιά πρόσβασης και μυστικά του Amazon S3. Μπορείτε να εντοπίσετε τα πλήκτρα πρόσβασης και μυστικά στην κονσόλα διαχείρισης του Amazon.

Για να ξεκινήσετε, ανοίξτε το τερματικό και πληκτρολογήστε:

 s3cmd --configure 

Θα σας ζητήσει πρώτα να εισαγάγετε τα κλειδιά Access και Secret.

Στη συνέχεια, πρέπει να εισαγάγετε ένα κλειδί κρυπτογράφησης και τη διαδρομή προς το πρόγραμμα GPG.

Αφού το κλειδί κρυπτογράφησης είναι η ερώτηση για τη χρήση πρωτοκόλλου HTTPS. Η προεπιλεγμένη επιλογή είναι "Όχι", αλλά μπορείτε να ορίσετε "Ναι" για ασφαλέστερη σύνδεση με το Amazon S3. Σημειώστε ότι η χρήση του πρωτοκόλλου HTTPS θα επιβραδύνει την ταχύτητα μεταφοράς και δεν μπορεί να χρησιμοποιηθεί αν χρησιμοποιείτε διακομιστή μεσολάβησης.

Μόλις διαμορφώσετε και δοκιμάσετε τις ρυθμίσεις, μπορείτε να προχωρήσετε στη χρήση του S3cmd. Εάν πρέπει να αλλάξετε τις ρυθμίσεις, μπορείτε είτε να επεξεργαστείτε το αρχείο .s3cfg στον αρχικό κατάλογο είτε να εκτελέσετε ξανά την εντολή s3cmd --configure .

Χρήση

Πρώτον, για να δείτε τους κάδους στο λογαριασμό σας S3, μπορείτε να χρησιμοποιήσετε την εντολή ls .

 s3cmd ls 

Για να δημιουργήσετε ένα κουβά, χρησιμοποιήστε την εντολή mb :

 s3cmd mb s3: // test-s3cmd-κάδο 

Σημειώστε ότι θα χρειαστεί να προθέσετε το όνομα του κουβά με "s3: //"

Για να εμφανίσετε το περιεχόμενο σε ένα κουβά, χρησιμοποιήστε την εντολή ls μαζί με το όνομα του κάδου. Για παράδειγμα:

 s3cmd ls s3: / / test-s3cmd-bucket 

Μεταφόρτωση αρχείου στον κάδο

Ο ευκολότερος τρόπος για να φορτώσετε ένα αρχείο μέσω του S3cmd είναι με την εντολή put . Για παράδειγμα:

 s3cmd βάλτε το text.txt s3: // test-s3cmd-bucket 

Επιπλέον, μπορείτε να χρησιμοποιήσετε την παράμετρο --encrypt για την κρυπτογράφηση του αρχείου πριν μεταφορτώσετε στο S3.

 Το s3cmd έβαλε --encrypt text.txt s3: // test-s3cmd-bucket 

Η προεπιλεγμένη άδεια για την εντολή put είναι ιδιωτική, πράγμα που σημαίνει ότι το αρχείο μπορεί να προβληθεί μόνο από εσάς. Εάν χρειάζεστε το αρχείο να είναι προσβάσιμο από το κοινό, μπορείτε να προσθέσετε την παράμετρο --acl-public

 s3cmd βάλτε --acl-public text.txt s3: // test-s3cmd-bucket 

Για πιο λεπτομερή έλεγχο, χρησιμοποιήστε την --acl-grant=PERMISSION:EMAIL or USER_CANONICAL_ID . Για παράδειγμα:

 s3cmd put --acl-grant = διαβάσετε: [email protected] text.txt s3: // test-s3cmd-bucket 

Το "ΑΔΕΙΑ" μπορεί να είναι "ανάγνωση", "γράψιμο", "read_acp", "write_acp", "full_control", "όλα".

Ανάκτηση αρχείων από κάδο

Για να ανακτήσετε ένα αρχείο, χρησιμοποιήστε την εντολή get .

 s3cmd πάρτε s3: //test-s3cmd-bucket/text.txt text.txt 

Για να κάνετε λήψη όλων των αρχείων στον κάδο, απλώς προσθέστε την παράμετρο --recursive .

 s3cmd πάρτε - αναδρομική s3: // test-s3cmd-κουβά 

Διαγραφή αρχείων από τον κάδο

Η εντολή διαγραφής για s3cmd είναι απλά del . Για παράδειγμα:

 s3cmd del s3: //test-s3cmd-bucket/text.txt 

Μπορείτε επίσης να χρησιμοποιήσετε την παράμετρο --recursive για να διαγράψετε όλα τα αρχεία στον κάδο.

 s3cmd del - επαναληπτικό s3: // test-s3cmd-κάδο 

Για περισσότερες εντολές S3cmd, ανατρέξτε στον οδηγό χρήσης του εδώ.

Προηγμένη χρήση: Συγχρονίστε ένα φάκελο στο S3

Ας υποθέσουμε ότι αποθηκεύετε όλα τα σημαντικά αρχεία σας σε ένα φάκελο και θέλετε να συγχρονιστούν με το S3. Το S3cmd συνοδεύεται από μια εντολή sync που μπορεί να συγχρονίσει τον τοπικό φάκελο στον απομακρυσμένο προορισμό.

 s3cmd συγχρονισμός - αφαιρούμενος -αφαιρέθηκε ~ / SecretFolder s3: // my-secret-bucket / 

Το μόνο που έχετε να κάνετε είναι να δημιουργήσετε ένα cronjob για να τρέχετε τακτικά την εντολή συγχρονισμού.

1. Ανοίξτε το crontab.

 crontab -e 

2. Προσθέστε την ακόλουθη γραμμή στο τέλος του crontab. Αποθηκεύστε και βγείτε από το crontab.

 5 * * * * s3cmd συγχρονισμός - αφαίρεση αφαιρείται ~ / SecretFolder s3: // my-secret-bucket / 

Αυτό είναι. Το σύστημά σας θα συγχρονίσει τώρα τον μυστικό φάκελο στο S3 κάθε 5 λεπτά. Μπορείτε να αλλάξετε την τιμή για να εκτελέσετε την εντολή συγχρονισμού στο προτιμώμενο διάστημα. Κάθε αρχείο που αφαιρέσατε από τον μυστικό φάκελο θα αφαιρεθεί από το S3.

συμπέρασμα

Για όσους χρειάζονται εργασία στο περιβάλλον της γραμμής εντολών, το S3cmd είναι πραγματικά ένα εξαιρετικό εργαλείο για να έχετε πρόσβαση και να διαχειριστείτε το Amazon S3 από τη γραμμή εντολών. Όχι μόνο είναι εύκολο στη χρήση, έρχεται επίσης με πολλές επιλογές για την προηγμένη χρήση και τις ανάγκες σεναρίων.