如何删除所有冰川数据?


29

我在Mac OS X上使用了一个名为Arq的工具来备份我的数据,但是我发现上载所有内容非常困难,因为我没有而且也没有足够快的Internet连接。

因此,我决定删除所有备份,但是每当我尝试从软件本身进行备份时,它都不会执行任何操作。

我还在其他Windows机器上尝试过FastGlacier,它挂起并占用过多资源。

我想知道是否有简单的方法可以做到这一点。

PS我的冰川在341907个档案中具有〜450 GB


给Arq用户的提示-请参阅下面来自Arq开发人员Stefan Reitshamer的答案。避免设置mtglacier的麻烦,只需使用Arq内置的工具即可!
joewiz

Answers:


26

该项目的清除保险库运作良好:https//github.com/vsespb/mt-aws-glacier

安装,然后运行以下命令(将Vault名称替换为您的Vault名称):

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 2014年

感谢您提供@CamiloNova的反馈,我根据您的反馈选择了最佳答案^ _ ^
Shereef Marzouk

我不得不等待将近4个小时才能下载库存
Parag 2015年

1
与相比,此方法似乎要快得多glacier-vault-remove。这种方法能够在几个小时内删除350GB的数据,而glacier-vault-remove每12小时只能删除大约30GB的数据。
gbmhunter's

我知道此答案已被标记为已确认的解决方案,但是对于Arq用户而言,如原始海报一样,下面的Stefan Reitshamer的答案是最好的。Arq具有用于删除Glacier Vault的内置工具。无需弄乱mtglacier。只需阅读该答案,就可以完成。
joewiz

15

https://github.com/leeroybrun/glacier-vault-remove就是为此目的而创建的。

要删除文件库,请首先安装依赖项:

$ 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

此外,它会占用大量 RAM。我正在尝试删除大约120.000个档案-在125413的1142中,它已经使用了1 GB以上的内存(并且每个档案都在增加)。
aaronk6

7

如果在Arq中删除由Glacier支持的文件夹,它将进入Arq的垃圾箱。如果在Arq的垃圾箱中选择它,然后单击“永久删除”,则Arq将删除所有Glacier档案,并尝试删除Glacier保管库。删除保管库可能会失败,因为Amazon必须每天更新一次“库存”。第二天,在Arq中的“其他备份集”下浏览,找到该库,选择它,然后单击“删除”将其删除。

如果您的保管库未与任何Arq备份关联,请从Arq的菜单中选择“旧式冰川保管库”,选择该保管库,然后单击按钮删除。


谢谢,斯蒂芬!我花了几天的时间来弄清楚如何删除Arq保管库-无法在Mac上安装mtglacier,无法创建可以运行mtglacier的dropcloud ubuntu实例-整个过程中,解决方案就在Arq上。
joewiz

5

您可以使用CloudBerry Explorer这样的免费软件产品http://www.cloudberrylab.com/free

请注意,冰川数据不会立即可用。您需要等待24小时,以使全球库存在Amazon端发生,然后您应单击获取库存按钮,然后再等待5个小时才能获取帐户的库存。

谢谢


我在那个账户上只剩下冰川了,所以我只是删除了aws账户,将其标记为正确的答案,因为我认为如果尝试过它就可以解决。
Shereef Marzouk

这不是一个很好的答案,因为此产品无法在OSX上运行。
user3353 2014年

1

我知道这个问题已经回答了一段时间,但是我认为这可能对某些人有帮助,因为删除Glacier数据仍然非常麻烦。

我没有在任何地方看到此建议……但是,如果您仅将AWS用于Glacier(我认为很多情况都必须如此),则可以考虑关闭您的AWS账户!这是我经过数天努力地用各种工具删除数据的尝试之后所做的。

当您关闭帐户时,Amazon会删除您的数据(据说;它们最终应至少回收磁盘空间),并且您会获得该月的最终收据。再见亚马逊!


我曾经使用过许多其他的亚马逊服务,但又不想失去它们,我想很多人都使用亚马逊来购买东西,但对于那些从未将亚马逊用于其他用途的人来说,写这篇文章是一件
好事

@ShereefMarzouk好吧,当您在AWS控制面板中关闭账户时,实际上是您要关闭的AWS账户,而不是您用来进行购买的Amazon账户。因此,您仍然可以照常使用其他Amazon服务(只要它们不属于AWS)。
表格

0

如何删除保险柜(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。完成检索清单后,您可以使用以下命令获取它: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

看到。在Amazon Glacier中下载保管库清单

您可以ArchiveId./output.json文件中获取所有内容。

步骤3 /删除档案

电源外壳

来自@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

好吧,几年前,我关闭了我的帐户,几个月前才重新打开它,然后猜想亚马逊仍然有3TB存入什么亚马逊帐户,现在我已经为过去几个月的账单付款了。

所以我回到这个问题,发现:

  • mt-aws-glacier几乎不可能在最新的ubuntu上安装,然后转到12.04,awscli不存在,然后到14.04时我的签名出现错误...
  • Arq答案与Arq 5不再相关
  • 然后我找到了上述要点,并将其复制到这里,因为它对社区更有利
  • 尝试过cloudberry,看起来应该可以使用,我将在4到10个小时内在此处进行更新

-1

在Mac上,您可以尝试使用可以连接到Amazon S3的ForkLift应用程序(免费评估)。


我已连接到Amazon S3,但没有显示任何内容。我是否必须指定s3.amazonaws.com以外的服务器才能访问冰川?
凯文

抱歉,现在对我来说是前一阵子。。。我还不太记得我最终如何解决它。
Marius 2014年

1
冰川不是S3。它们都是Amazon Web Services的一部分,并且都用于存储文件,但是它们具有不同的用例,支付结构,限制和API。因此,S3工具不能与Glacier一起使用,而Glacier工具不能与S3一起使用(尽管这并不是说那里没有 S3 和Glacier兼容的工具,它们是由不同的网络处理程序编写的,每个服务的应用逻辑)
Slipp D. Thompson 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.