จะลบข้อมูลธารน้ำแข็งทั้งหมดได้อย่างไร


29

ฉันใช้เครื่องมือบน Mac OS X เรียกว่า Arq เพื่อสำรองข้อมูลของฉัน แต่ฉันพบว่ามันยากที่จะอัปโหลดข้อมูลทั้งหมดของฉันเนื่องจากฉันไม่มีและไม่สามารถเชื่อมต่ออินเทอร์เน็ตที่เร็วพอสำหรับมัน

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

ฉันยังลอง FastGlacier บนเครื่อง windows อื่น ๆ ของฉันมันวางสายและใช้ทรัพยากรมากเกินไป

ฉันสงสัยว่ามีวิธีง่ายๆในการทำเช่นนี้หรือไม่

PS ธารน้ำแข็งของฉันมี ~ 450 GB ในคลังบทความ 341907


หมายเหตุสำหรับผู้ใช้ Arq - ดูคำตอบจากนักพัฒนา Arq Stefan Reitshamer ด้านล่าง หลีกเลี่ยงการปวดหัวในการตั้งค่า mtglacier และใช้เครื่องมือที่มีอยู่ใน Arq!
joewiz

คำตอบ:


26

purge-vault จากโปรเจ็กต์นี้ทำงานได้ดี: https://github.com/vsespb/mt-aws-glacier

ติดตั้งจากนั้นรันคำสั่งเหล่านี้ (แทนที่ชื่อห้องนิรภัยด้วยชื่อห้องนิรภัยของคุณ):

mtglacier retrieve-inventory --config glacier.cfg --vault vault-name

รอประมาณ 2 ชั่วโมงจากนั้น

mtglacier download-inventory --config glacier.cfg --vault vault-name --new-journal vault-name.log
mtglacier purge-vault --config glacier.cfg --vault vault-name --journal vault-name.log

ขอบคุณมากสำหรับสิ่งนี้ แต่น่าเศร้าที่ฉันไม่มีคลังเก็บธารน้ำแข็งที่จะทำการทดสอบดังนั้นโปรดได้ถ้ามีใครทำการทดสอบมันให้ฉันรู้เพื่อทำเครื่องหมายคำตอบที่ถูกต้อง
Shereef Marzouk

ขอบคุณสำหรับคำติชม @ CamiloNova ฉันได้เลือกสิ่งนี้เป็นคำตอบที่ดีที่สุดตามความคิดเห็นของคุณ ^ _ ^
Shereef Marzouk

ฉันต้องรอใกล้ถึง 4 ชั่วโมงเพื่อให้สามารถดาวน์โหลดคลังโฆษณาได้
Parag

1
วิธีนี้ดูเหมือนว่าจะเร็วกว่าglacier-vault-removeมาก วิธีนี้สามารถลบข้อมูล 350GB ในเวลาไม่กี่ชั่วโมงในขณะที่glacier-vault-removeลบข้อมูลเพียงประมาณ 30GB ทุก ๆ 12 ชั่วโมง
gbmhunter

ฉันรู้ว่าคำตอบนี้ถูกทำเครื่องหมายว่าเป็นคำตอบที่ยืนยันแล้ว แต่สำหรับผู้ใช้ Arq เช่นโปสเตอร์ดั้งเดิมคำตอบของ Stefan Reitsham ด้านล่างเป็นสิ่งที่ดีที่สุด Arq มีเครื่องมือในตัวสำหรับการลบ Glacier Vaults ไม่จำเป็นต้องยุ่งกับ mtglacier เพิ่งอ่านคำตอบนั้นแล้วคุณก็ทำเสร็จแล้ว
joewiz

15

https://github.com/leeroybrun/glacier-vault-removeถูกสร้างขึ้นเพื่อวัตถุประสงค์ที่แน่นอนนี้

หากต้องการลบ vault อันดับแรกให้ติดตั้งการพึ่งพา:

$ git clone https://github.com/leeroybrun/glacier-vault-remove.git
$ cd glacier-vault-remove
$ python setup.py install

จากนั้นสร้างไฟล์ข้อมูลรับรองcredentials.jsonในไดเรกทอรีเดียวกัน:

{
  "AWSAccessKeyId": "YOURACCESSKEY",
  "AWSSecretKey":   "YOURSECRETKEY"
}

จากนั้นเรียกใช้สคริปต์เช่นนี้

$ python removeVault.py REGION-NAME VAULT-NAME

ตัวอย่าง:

$ python removeVault.py us-east-1 my_vault

1
สคริปต์นี้ช้ากว่า mt-aws-glacier มากในเวลาปัจจุบัน
Dan Poltawski

นอกจากนี้มันกินมากของแรม ฉันกำลังพยายามลบไฟล์เก็บถาวร 120,000 ไฟล์ - ที่ 1142 จาก 125413 มันใช้หน่วยความจำมากกว่า 1 GB แล้ว (และมันเพิ่มขึ้นเมื่อเก็บถาวรแต่ละไฟล์)
aaronk6

7

หากคุณลบโฟลเดอร์กลาเซียร์ที่สำรองไว้ใน Arq ไฟล์นั้นจะถูกทิ้งในถังขยะของ Arq หากคุณเลือกในถังขยะของ Arq และคลิก "ลบอย่างถาวร" Arq จะลบคลังเก็บธารน้ำแข็งทั้งหมดและพยายามลบหลุมฝังศพของธารน้ำแข็ง การลบห้องนิรภัยอาจล้มเหลวเนื่องจาก Amazon ต้องอัปเดต "คลังโฆษณา" ซึ่งจะทำหนึ่งครั้งต่อวัน ในวันถัดไปเรียกดูภายใต้ "ชุดข้อมูลสำรองอื่น ๆ " ใน Arq ค้นหาห้องนิรภัยนั้นเลือกชุดนั้นแล้วคลิก "ลบ" เพื่อลบ

หากคุณมีห้องนิรภัยที่ไม่เกี่ยวข้องกับการสำรองข้อมูลของ Arq ให้เลือก "Legacy Glacier Vaults" จากเมนูของ Arq เลือกห้องนิรภัยจากนั้นคลิกที่ปุ่มเพื่อลบ


ขอบคุณสเตฟาน! ฉันพยายามเป็นเวลาหลายวันเพื่อหาวิธีลบ Arq vaults ของฉัน - ไม่สามารถติดตั้ง mtglacier บน Mac ของฉันสร้างอินสแตนซ์ของ Ubuntu ที่ใช้งานได้ใน dropcloud เพื่อเรียกใช้ mtglacier - และตลอดเวลานี้ทางออกที่นั่นใน Arq
joewiz

5

คุณสามารถใช้ผลิตภัณฑ์ฟรีแวร์เช่น CloudBerry Explorer http://www.cloudberrylab.com/free

หมายเหตุข้อมูลธารน้ำแข็งจะไม่สามารถใช้งานได้ทันที คุณต้องรอ 24 ชั่วโมงเพื่อให้สินค้าคงคลังทั่วโลกเกิดขึ้นในฝั่ง Amazon จากนั้นคุณควรคลิกปุ่มรับสินค้าคงคลังและรออีก 5 ชั่วโมงเพื่อรับสินค้าคงคลังสำหรับบัญชีของคุณ

ขอบคุณ


ฉันไม่มีอะไรนอกจากธารน้ำแข็งในบัญชีนั้นดังนั้นฉันเพิ่งลบบัญชี aws ของฉันจะทำเครื่องหมายว่าเป็นคำตอบที่ถูกต้องตั้งแต่ฉันคิดว่ามันจะได้ผลถ้าฉันได้ลองแล้ว
Shereef Marzouk

ไม่ใช่คำตอบที่ดีนักเพราะผลิตภัณฑ์นี้ไม่ได้ทำงานบน OSX
user3353

1

ฉันรู้ว่าคำถามนี้ได้รับการตอบในขณะที่ผ่านมา แต่ฉันคิดว่านี่อาจช่วยให้บางคนตั้งแต่การลบข้อมูลกลาเซียร์ยังคงยุ่งยากมาก

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

เมื่อคุณปิดบัญชีของคุณ Amazon จะลบข้อมูลของคุณ (อย่างที่ควรจะเป็นในที่สุดพวกเขาควรจะเรียกคืนพื้นที่ว่างในดิสก์อย่างน้อย) และคุณจะได้รับใบเสร็จรับเงินสุดท้ายสำหรับเดือนที่อยู่ระหว่างดำเนินการ ลาก่อน Amazon!


ฉันใช้บริการ amazon อื่น ๆ อีกมากมายและไม่ต้องการสูญเสียพวกเขาและฉันคิดว่า amazon ใช้งานหลายอย่างเพื่อซื้อของ แต่มันก็ดีถ้ามีสิ่งนี้เขียนไว้ที่ไหนสักแห่งสำหรับคนที่ไม่เคยใช้ amazon มาก่อน
Shereef Marzouk

@ShereefMarzouk ดีเมื่อคุณปิดบัญชีของคุณในแผงควบคุม AWS จริงๆแล้วมันเป็นบัญชีAWSของคุณที่คุณกำลังปิดไม่ใช่บัญชี Amazon ที่คุณใช้ซื้อสินค้า ดังนั้นคุณจะยังสามารถใช้บริการ Amazon อื่น ๆ ได้ (ตราบใดที่พวกเขาไม่ได้เป็นส่วนหนึ่งของ AWS) ตามปกติ
แบบฟอร์ม

0

วิธีลบ Vault (AWS Glacier)

สรุปสาระสำคัญนี้ให้เคล็ดลับในการลบAWS Glacier Vaultด้วย AWS CLI (เช่นhttps://aws.amazon.com/en/cli/ )

ขั้นตอนที่ 1 / ดึงข้อมูลสินค้าคงคลัง

$ aws glacier initiate-job --job-parameters "{\"Type\": \"inventory-retrieval\"}" --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION

รอประมาณ 3/5 ชั่วโมง… :-(

JobIdสำหรับขั้นตอนใหม่ที่คุณต้องการที่จะได้รับ เมื่อสินค้าคงคลัง retrive เสร็จแล้วคุณสามารถรับมันด้วยคำสั่งต่อไปนี้:aws glacier list-jobs --vault-name YOUR_VAULT_NAME --region YOUR_REGION

ขั้นตอนที่ 2 / รับ ArchivesIds

$ aws glacier get-job-output --job-id YOUR_JOB_ID --vault-name YOUR_VAULT_NAME --region YOUR_REGION ./output.json

ดู. การดาวน์โหลด Vault Inventory ใน Amazon Glacier

คุณสามารถได้รับทั้งหมดArchiveIdใน./output.jsonไฟล์

ขั้นตอนที่ 3 / ลบคลังเก็บ

Powershell

จาก@vinyar

$input_file_name = 'output.json'
$vault_name = 'my_vault'
# $account_id = 'AFDKFKEKF9EKALD' #not used. using - instead

$a = ConvertFrom-Json $(get-content $input_file_name)

$a.ArchiveList.archiveid | %{
write "executing: aws glacier delete-archive --archive-id=$_ --vault-name $vault_name --account-id -"
aws glacier delete-archive --archive-id=$_ --vault-name $vault_name --account-id - }

หลาม

จาก@robweber

ijsonซึ่งอ่านไฟล์เป็นสตรีมแทน คุณสามารถติดตั้งได้ด้วย pip

import ijson, subprocess

input_file_name = 'output.json'
vault_name = ''
account_id = ''

f = open(input_file_name)
archive_list = ijson.items(f,'ArchiveList.item')

for archive in archive_list:
    print("Deleting archive " + archive['ArchiveId'])
    command = "aws glacier delete-archive --archive-id='" + archive['ArchiveId'] + "' --vault-name " + vault_name + " --acc$
    subprocess.run(command, shell=True, check=True)

f.close()

PHP

จาก@Remiii

<?php

$file = './output.json' ;
$accountId = 'YOUR_ACCOUNT_ID' ;
$region = 'YOUR_REGION' ;
$vaultName = 'YOUR_VAULT_NAME' ;

$string = file_get_contents ( $file ) ;
$json = json_decode($string, true ) ;
foreach ( $json [ 'ArchiveList' ] as $jsonArchives )
{
    echo 'Delete Archive: ' . $jsonArchives [ 'ArchiveId' ] . "\n" ;
    exec ( 'aws glacier delete-archive --archive-id="' . $jsonArchives [ 'ArchiveId' ] . '" --vault-name ' . $vaultName . ' --account-id ' . $accountId . ' --region ' . $region , $output ) ;
    echo $output ;
}

ทำเครื่องหมาย: หลังจากที่คุณลบการเก็บถาวรถ้าคุณดาวน์โหลดคลังเก็บห้องทันทีมันอาจรวมการเก็บถาวรที่ถูกลบในรายการเนื่องจาก Amazon Glacier เตรียมพื้นที่เก็บข้อมูลห้องนิรภัยเพียงวันละครั้ง

ดู. การลบที่เก็บถาวรใน Amazon Glacier

ขั้นตอนที่ 4 / ลบห้องนิรภัย

$ aws glacier delete-vault --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION

สรุปสาระสำคัญโดย@Remiii

ตกลงดังนั้นไม่กี่ปีที่ผ่านมาฉันปิดบัญชีของฉันและเพิ่งเปิดใหม่เมื่อไม่กี่เดือนที่ผ่านมาและเดาว่า amazon ยังมี 3TB ของฉันอยู่ที่นั่นในบัญชีของฉันและตอนนี้ฉันถูกเรียกเก็บเงินสำหรับพวกเขาในช่วงสองสามเดือนที่ผ่านมา

ดังนั้นฉันกลับมาที่คำถามนี้และพบว่า:

  • mt-aws-glacier แทบจะเป็นไปไม่ได้เลยที่จะติดตั้งบน Ubuntu ล่าสุดแล้วไปที่ 12.04 awscli ไม่ได้อยู่ที่นั่นแล้วเมื่อ 14.04 มีข้อผิดพลาดเกี่ยวกับลายเซ็นของฉัน ...
  • คำตอบ Arq ไม่เกี่ยวข้องใน Arq 5 อีกต่อไป
  • จากนั้นฉันก็พบส่วนสำคัญข้างต้นและคัดลอกมาที่นี่เพราะมันดีกว่าสำหรับชุมชน
  • cloudberry ที่พยายามและดูเหมือนว่ามันควรจะทำงานฉันจะอัปเดตที่นี่ใน 4 ~ 10 ชั่วโมง

-1

สำหรับ Mac คุณสามารถลองใช้แอพForkLift (ฟรีสำหรับการประเมินผล) ซึ่งสามารถเชื่อมต่อกับ Amazon S3


ฉันเชื่อมต่อกับ Amazon S3 แต่ไม่แสดงอะไรเลย ฉันต้องระบุเซิร์ฟเวอร์อื่นที่ไม่ใช่ s3.amazonaws.com เพื่อเข้าถึงธารน้ำแข็งหรือไม่
Kevin

ขออภัยเมื่อไม่นานมานี้สำหรับฉันตอนนี้ ... ฉันจำไม่ได้ว่าในที่สุดฉันจะซ่อมมันอย่างไร ... ฉันคิดว่ามันน่าจะผ่านเครื่องมือบรรทัดคำสั่งเหล่านี้ที่แสดงในกระทู้อื่น ๆ
Marius

1
Glacier ไม่ใช่ S3 พวกเขาทั้งสองเป็นส่วนหนึ่งของ Amazon Web Services และพวกเขาทั้งคู่เคยใช้จัดเก็บไฟล์ แต่มีทั้งกรณีการใช้โครงสร้างการชำระเงินข้อ จำกัด และ API ที่แตกต่างกัน ด้วยเหตุนี้เครื่องมือ S3 ไม่ทำงานกับเครื่องมือกลาเซียร์และกลาเซียร์ไม่ทำงานกับ S3 (แม้ว่าจะไม่ได้กล่าวว่าไม่มีเครื่องมือออกมีทั้ง S3- และกลาเซียร์เข้ากันได้เขียนด้วยตัวจัดการเครือข่ายที่แตกต่างกันและ ตรรกะ app สำหรับแต่ละบริการ)
Slipp D. Thompson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.