ฉันต้องการวิธีง่ายๆในการสำรองไฟล์ไปยังธารน้ำแข็งอเมซอนจากบรรทัดคำสั่งหรือไม่


17

ฉันมีเซิร์ฟเวอร์ CentOS ออนไลน์ด้วยไดเรกทอรีของไฟล์ cPmove ฉันต้องสำรองข้อมูลไปที่ Amazon Glacier ฉันมีการเข้าถึงบรรทัดคำสั่งเท่านั้นไม่มี GUI

ฉันต้องการไคลเอนต์บรรทัดคำสั่งที่ใช้งานง่ายในการอัพโหลดไฟล์ เช่นฉันเคยใช้ 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 แต่ฉันไม่ได้ติดตั้ง java บนเซิร์ฟเวอร์และฉันลังเลที่จะติดตั้งเนื่องจากปัญหาด้านความปลอดภัยทั้งหมดเมื่อเร็ว ๆ นี้

ฉันมีหลามและทับทิม:

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]#

มีทับทิม (ดีกว่า) หรือหลามหรือภาษาอื่น ๆ (ดีกว่า) ไคลเอนต์บรรทัดคำสั่งธารน้ำแข็ง amazon?)


ขออภัยฉันไม่ได้มองลึกลงไปในกลาเซียร์ฉันคิดว่าคุณเข้าถึงแบบธรรมดาได้ ลบคำตอบแล้ว
terdon

ฉันพบว่าฉันสามารถอัพโหลดไปยัง s3 ด้วยอัญมณีหมอกของทับทิม จากคอนโซลการจัดการ aws ของ s3 ฉันสามารถกำหนดนโยบายการหมดอายุและเก็บไฟล์ไว้ในธารน้ำแข็งได้ โรงงาน นอกจากนี้หมอกยังสนับสนุนกลาเซียร์โดยตรง แต่ฉันยังไม่ได้มองเข้าไปในนั้น สำหรับทุกคนที่อยากรู้อยากเห็นสคริปต์ทับทิมของฉันสำหรับการอัปโหลดไปยัง s3 คือ: gist.github.com/ivanoats/4712421
Ivan

คำตอบ:


8

ไลบรารีบัญญัติสำหรับการเชื่อมต่อกับ AWS ผ่าน Python คือ Boto . แม้ว่ามันจะมีวัตถุประสงค์เพื่อใช้เป็นห้องสมุดในสคริปต์ Python แต่ก็ง่ายพอที่จะใช้อย่างอิสระ คุณสามารถเรียด เอกสารที่ดี และ หน้านี้ มีภาพรวมของวิธีใช้ Boto แต่นี่คือส่วนสำคัญ:

ใส่ข้อมูลประจำตัว AWS ของคุณ ~/.boto:

[Credentials]
aws_access_key_id = FOO
aws_secret_access_key = BAR

รายการห้องใต้ดินของคุณ:

$ glacier vaults

อัปโหลดไฟล์:

$ glacier upload foo-vault foo.zip

แสดงรายการงานที่ค้างอยู่บน vault เฉพาะ:

$ glacier jobs foo-vault

แม้ว่าจะไม่ได้ใช้งานง่ายกว่า Boto จริงๆ ส่วนต่อประสาน Amazon Glacier 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



2

github.com/numblr/glaciertools จัดเตรียมสคริปต์ทุบตีที่จัดการการอัปโหลดหลายไฟล์ขนาดใหญ่ด้วยไคลเอนต์บรรทัดคำสั่ง AWS อย่างเป็นทางการ ( AWS CLI ) สิ่งนี้มีประโยชน์ในกรณีที่ข้อมูลของคุณเกินขีด จำกัด 4GB สำหรับการอัปโหลดไฟล์เก็บถาวรในการดำเนินการครั้งเดียวด้วย AWS CLI

ในการใช้สคริปต์คุณต้องติดตั้งและตั้งค่า AWS CLI ซึ่งต้องใช้ python ลิงค์นี้มีข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า

จากนั้นคุณสามารถสร้างการสำรองข้อมูลของคุณและอัปโหลดไปยังห้องนิรภัยบนธารน้ำแข็งด้วย

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

ข้อมูลรายละเอียดเพิ่มเติมมีอยู่ใน เอกสาร ที่นั่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.