כיצד לנהל את אמזון S3 מתוך שורת הפקודה
אמזון S3 הוא מקום טוב לגבות ולאחסן את הקבצים בזול על הענן. בעוד כמה אנשים משתמשים בו כדי לאחסן את הנתונים האישיים שלהם, ישנם אחרים המשתמשים בו כדי לאחסן תמונות וסקריפטים עבור אתרי האינטרנט שלהם, ואף להשתמש בו כמו CDN. על שולחן העבודה שלך, אתה יכול בקלות לגשת ולנהל את חשבון אמזון S3 שלך עם יישומים כמו S3Fox, CloudBerry, DragonDisk, וכו ', אבל מה אם אתה צריך לגשת אליו משורת הפקודה? זה המקום שבו S3cmd מגיע שימושי.
S3cmd הוא כלי שורת פקודה חופשית להעלאה, אחזור וניהול נתונים ב- Amazon S3. מלבד S3, היא תומכת גם בשאר ספקי שירותי אחסון בענן המשתמשים בפרוטוקול S3, כגון Google Cloud Storage או DreamHost DreamObjects. השימוש הטוב ביותר עבור כלי זה הוא על שרת מרוחק שבו הכל נעשה על שורת הפקודה. לחלופין, אתה יכול גם להשתמש בו כדי ליצור סקריפטים אצווה גיבוי אוטומטי ל S3.
S3cmd כתוב בפייתון, כך שהוא נתמך כמעט בכל מערכות ההפעלה, כל עוד Python מותקן.
הַתקָנָה
S3cmd נמצא במרבית המאגרים של לינוקס. בדביאן / אובונטו, או בכל הפצה מבוססת אחרת, ניתן להתקין את S3cmd עם הפקודה:
sudo apt-get להתקין s3cmd
עבור פדורה, Centos, או כל אחרים מבוססי yum distro:
להתקין את s3cmd
לחלופין, ניתן להוריד את קוד המקור, לפתוח את החבילה ולהפעיל את תוכנית ההתקנה:
sudo python setup.py
מתחילים
לפני שתתחיל, תצטרך לקבל את המפתחות של אמזון S3 שלך גישה סודית מוכן. תוכל לאתר את המקשים Access and Secret במסוף הניהול של Amazon.
כדי להתחיל, פתח את המסוף והקלד:
s3cmd - קונפיגור
תחילה תתבקש להזין את המקשים Access and Secret.
הבא, אתה צריך להזין מפתח הצפנה ואת הנתיב לתוכנית GPG.
לאחר שמפתח ההצפנה הוא הפקודה לשימוש בפרוטוקול HTTPS. אפשרות ברירת המחדל היא "לא", אבל אתה יכול להגדיר "כן" עבור חיבור מאובטח יותר אמזון S3. שים לב כי שימוש בפרוטוקול HTTPS יאט את מהירות ההעברה ולא ניתן להשתמש בה אם אתה משתמש בשרת proxy.
לאחר שתגדיר את ההגדרות ותבחן אותן, תוכל להמשיך להשתמש ב- S3cmd. אם עליך לשנות את ההגדרות, באפשרותך לערוך את קובץ .s3cfg בספריית הבית שלך, או להפעיל את הפקודה s3cmd --configure
שוב.
נוֹהָג
ראשית, כדי להציג את הדליים בחשבון S3 שלך, תוכל להשתמש בפקודה ls
.
s3cmd ls
כדי ליצור דלי, השתמש בפקודה mb
:
s3cmd mb s3: // test-s3cmd-bucket
שים לב שיהיה עליך להקליד את שם הדלי באמצעות "s3: //"
כדי להציג את התוכן בדלי, השתמש בפקודה ls
יחד עם שם הדלי. לדוגמה:
s3cmd ls s3: // test-s3cmd-bucket
העלאת קובץ לדלי
הדרך הקלה ביותר להעלות קובץ דרך S3cmd היא באמצעות הפקודה put
. לדוגמה:
s3cmd לשים text.txt s3: // test-s3cmd דלי
בנוסף, ניתן להשתמש בפרמטר - הצפנה כדי להצפין את הקובץ לפני העלאה ל S3.
s3cmd לשים - Encrypt text.txt s3: / test-s3cmd דלי
הרשאת ברירת המחדל של הפקודה put
היא פרטית, ופירוש הדבר שהקובץ יכול להיות מוצג רק על ידך. אם אתה צריך שהקובץ יהיה נגיש לציבור, תוכל להוסיף את הפרמטר --acl-public
s3cmd לשים - acl הציבור text.txt s3: / test-s3cmd דלי
לקבלת בקרה מפורטת יותר, השתמש --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 get s3: //test-s3dd-bucket/text.txt text.txt
כדי להוריד את כל הקבצים בדלי, פשוט לצרף את הפרמטר - --recursive
.
s3cmd לקבל - recursive s3: // מבחן-s3cmd דלי
מחיקת קבצים מדלי
הפקודה למחוק עבור s3cmd הוא פשוט del
. לדוגמה:
s3cmd del s3: //test-s3cmd-bucket/text.txt
אתה יכול גם להשתמש בפרמטר - --recursive
כדי למחוק את כל הקבצים בדלי.
s3cmd del - recursive s3: // מבחן-s3cmd דלי
לקבלת פקודות S3cmd נוספות, עיין במדריך השימוש שלה כאן.
שימוש מתקדם: סנכרון תיקייה ל- S3
נניח שאתה לאחסן את כל הקבצים החשובים שלך בתיקיה ואתה רוצה שזה יהיה מסונכרן S3. S3cmd מגיע עם פקודת sync
שיכול לסנכרן את התיקיה המקומית ליעד מרוחק.
s3cmd סינכרון - deslete-removed ~ / SecretFolder s3: / / שלי סודי דלי /
כל שעליך לעשות הוא ליצור cronjob להריץ את פקודת הסינכרון באופן קבוע.
1. פתח את crontab.
crontab -e
2. הוסף את השורה הבאה לסוף crontab. שמור ולצאת crontab.
5 * * * * s3cmd סינכרון - delete-removed ~ / SecretFolder s3: / / הסוד שלי דלי /
זהו זה. המערכת שלך עכשיו לסנכרן את התיקייה הסודית ל S3 כל 5 דקות. באפשרותך לשנות את הערך כדי להפעיל את פקודת הסינכרון במרווח המועדף עליך. כל קובץ שהסרת מהתיקיה הסודית יוסר מ S3 מדי.
סיכום
עבור אלה שצריכים לעבוד בסביבת שורת הפקודה, S3cmd הוא באמת כלי נהדר לך לגשת ולנהל Amazon S3 משורת הפקודה. לא רק זה קל לשימוש, הוא גם מגיע עם שפע של אפשרויות לשימוש מתקדם ו scripting הצרכים.