Bagaimana cara menghapus semua data gletser?

29

Saya menggunakan alat pada Mac OS X yang disebut Arq untuk membuat cadangan data saya, tetapi saya merasa sangat sulit untuk mengunggah semua barang saya karena saya tidak dan tidak dapat memiliki koneksi internet yang cukup cepat untuk itu.

Jadi saya memutuskan untuk menghapus semua cadangan saya, tetapi setiap kali saya mencoba dari perangkat lunak itu sendiri tidak ada hasilnya.

Saya juga mencoba FastGlacier di mesin windows saya yang lain, itu menutup dan mengambil terlalu banyak sumber daya.

Saya bertanya-tanya apakah ada cara mudah untuk melakukan ini.

PS Gletser saya memiliki ~ 450 GB di 341907 arsip

Shereef Marzouk
sumber
Catatan untuk pengguna Arq - lihat jawaban dari pengembang Arq Stefan Reitshamer di bawah ini. Hindari sakit kepala pengaturan mtglacier, dan cukup gunakan alat yang dibangun ke dalam Arq!
joewiz

Jawaban:

26

Vault-purge dari proyek ini bekerja dengan baik: https://github.com/vsespb/mt-aws-glacier

Instal, lalu jalankan perintah ini (ganti nama-vault dengan nama vault Anda):

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

tunggu sekitar 2 jam, lalu

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
Ran Rubinstein
sumber
Terima kasih banyak untuk ini, tapi sayangnya saya tidak memiliki penyimpanan gletser untuk mengujinya, jadi tolong jika ada yang mengujinya, beri tahu saya untuk menandainya sebagai jawaban yang benar.
Shereef Marzouk
Terima kasih atas umpan balik @CamiloNova Saya telah memilih ini sebagai jawaban terbaik berdasarkan umpan balik Anda ^ _ ^
Shereef Marzouk
Saya harus menunggu lebih dekat hingga 4 jam untuk dapat mengunduh-inventaris
Parag
1
Metode ini tampaknya jauh lebih cepat dibandingkan dengan glacier-vault-remove. Metode ini mampu menghapus data 350GB dalam beberapa jam, sementara glacier-vault-removeitu hanya menghapus sekitar 30GB data setiap 12 jam.
gbmhunter
Saya menyadari jawaban ini ditandai sebagai solusi yang dikonfirmasi, tetapi untuk pengguna Arq seperti poster aslinya, jawaban Stefan Reitshamer di bawah ini adalah yang terbaik, tangan ke bawah. Arq memiliki alat bawaan untuk menghapus Glacier Vaults. Tidak perlu dipusingkan dengan mtglacier. Baca saja jawaban itu, dan Anda selesai.
joewiz
15

https://github.com/leeroybrun/glacier-vault-remove diciptakan untuk tujuan yang tepat ini.

Untuk menghapus vault, instal dependensi terlebih dahulu:

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

Kemudian buat file kredensial, credentials.jsondi direktori yang sama:

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

Kemudian jalankan skrip seperti ini

$ python removeVault.py REGION-NAME VAULT-NAME

Contoh:

$ python removeVault.py us-east-1 my_vault
onionjake
sumber
1
Skrip ini jauh lebih lambat daripada mt-aws-gletser saat ini
Dan Poltawski
Selain itu, ia memakan banyak RAM. Saya mencoba untuk menghapus kira-kira 120.000 arsip — pada 1142 dari 125413 sudah menggunakan lebih dari 1 GB memori (dan itu meningkat dengan setiap arsip).
aaronk6
7

Jika Anda menghapus folder yang didukung Gletser di Arq, ia akan masuk ke tempat sampah Arq. Jika Anda memilihnya di tempat sampah Arq dan klik "Hapus Secara Permanen", Arq akan menghapus semua arsip Gletser dan berupaya menghapus kubah Gletser. Hapus vault mungkin gagal karena Amazon harus memperbarui "inventaris" -nya, yang dilakukannya sekali / hari. Hari berikutnya, jelajahi di bawah "Set Cadangan Lain" di Arq, temukan lemari besi itu, pilih dan klik "Hapus" untuk menghapusnya.

Jika Anda memiliki vault yang tidak terkait dengan cadangan Arq, pilih "Legacy Glacier Vaults" dari menu Arq, pilih vault, dan klik tombol untuk menghapus.

Stefan Reitshamer
sumber
Terima kasih, Stefan! Saya berjuang selama berhari-hari untuk mencari cara menghapus kubah Arq saya — gagal menginstal mtglacier di Mac saya, membuat instance dropcloud ubuntu untuk menjalankan mtglacier — dan selama ini, solusinya ada di sana di Arq.
joewiz
5

Anda dapat menggunakan produk freeware seperti CloudBerry Explorer http://www.cloudberrylab.com/free

Catatan, data Glacier tidak segera tersedia. Anda perlu menunggu 24 jam agar inventaris global terjadi di sisi Amazon, maka Anda harus mengklik tombol Dapatkan Persediaan dan tunggu 5 jam lagi untuk mendapatkan inventaris untuk akun Anda.

Terima kasih

Marc Jacobsohn
sumber
Saya tidak punya apa-apa selain gletser di akun itu, jadi saya baru saja menghapus akun aws saya, akan menandainya sebagai jawaban yang benar karena, saya pikir itu akan berhasil jika saya mencobanya.
Shereef Marzouk
Bukan jawaban yang benar-benar bagus karena produk ini tidak berjalan di OSX.
user3353
1

Saya tahu pertanyaan ini telah dijawab beberapa waktu lalu, tetapi saya pikir ini mungkin membantu beberapa orang karena menghapus data Glacier masih sangat rumit.

Saya tidak melihat ini disarankan di mana pun ... tetapi jika Anda hanya menggunakan AWS untuk Glacier (yang menurut saya harus menjadi kasus bagi banyak orang), Anda dapat mempertimbangkan untuk hanya menutup akun AWS Anda! Itulah yang saya lakukan setelah berhari-hari berusaha dengan tidak efektif untuk menghapus data dengan berbagai alat.

Ketika Anda menutup akun Anda, Amazon menghapus data Anda (seharusnya; mereka akhirnya harus mendapatkan kembali ruang disk setidaknya) dan Anda mendapatkan tanda terima akhir untuk bulan yang sedang berlangsung. Selamat tinggal Amazon!

Bentuk
sumber
Saya menggunakan banyak layanan amazon lainnya dan tidak ingin kehilangannya, dan saya rasa banyak yang menggunakan amazon untuk membeli barang, tapi ada baiknya memiliki ini ditulis di suatu tempat untuk orang-orang yang tidak pernah menggunakan amazon untuk hal lain
Shereef Marzouk
@ShereefMarzouk Nah, ketika Anda menutup akun di panel kontrol AWS, sebenarnya akun AWS yang Anda tutup, bukan akun Amazon yang Anda gunakan untuk melakukan pembelian. Jadi Anda masih dapat menggunakan layanan Amazon lainnya (selama mereka bukan bagian dari AWS) seperti biasa.
Formulir
0

Cara menghapus Vault (AWS Glacier)

Intisari ini memberikan beberapa kiat untuk dihapus AWS Glacier Vaultdengan AWS CLI (mis. Https://aws.amazon.com/en/cli/ ).

Langkah 1 / Retrive inventaris

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

Tunggu selama 3/5 jam ... :-(

Untuk langkah baru, Anda perlu mendapatkan JobId. Ketika inventaris retrive selesai, Anda bisa mendapatkannya dengan perintah berikut:aws glacier list-jobs --vault-name YOUR_VAULT_NAME --region YOUR_REGION

Langkah 2 / Dapatkan ArchivesIds

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

Lihat. Mengunduh Inventaris Vault di Amazon Glacier

Anda bisa mendapatkan semua ArchiveIddalam ./output.jsonfile.

Langkah 3 / Hapus Arsip

Powershell

dari @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 - }

Python

dari @robweber

ijson , yang dibaca sebagai file sebagai gantinya. Anda dapat menginstalnya dengan 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

dari @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 ;
}

Tandai: Setelah Anda menghapus arsip, jika Anda segera mengunduh inventaris vault, itu mungkin termasuk arsip yang dihapus dalam daftar karena Amazon Glacier menyiapkan inventaris vault hanya sekali sehari.

Lihat. Menghapus Arsip di Gletser Amazon

Langkah 4 / Hapus Vault

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

Intinya awalnya oleh @Remiii

Ok Jadi beberapa tahun yang lalu saya menutup akun saya dan membukanya kembali beberapa bulan yang lalu dan coba tebak amazon apa yang masih memiliki 3TB saya di akun saya dan sekarang saya ditagih untuk mereka selama beberapa bulan terakhir.

Jadi saya kembali ke pertanyaan ini dan menemukan bahwa:

  • mt-aws-gletser hampir tidak mungkin untuk melakukan setup pada ubuntu terbaru kemudian pergi ke 12,04 awscli tidak ada, maka ketika ke 14,04 mendapat kesalahan tentang tanda tangan saya ...
  • Jawaban Arq tidak lagi relevan di Arq 5
  • Kemudian saya menemukan intisari di atas dan menyalinnya di sini karena lebih baik untuk komunitas
  • Mencoba cloudberry dan sepertinya itu akan berhasil, saya akan memperbarui di sini dalam 4 ~ 10 jam
Shereef Marzouk
sumber
-1

Di Mac Anda bisa mencoba menggunakan aplikasi ForkLift (gratis untuk evaluasi) yang dapat terhubung ke Amazon S3.

Marius
sumber
Saya terhubung ke Amazon S3 tetapi tidak menunjukkan apa pun kepada saya. Apakah saya harus menentukan server selain s3.amazonaws.com untuk mengakses gletser?
Kevin
Maaf beberapa waktu yang lalu bagi saya sekarang ... Saya tidak dapat mengingat bagaimana saya akhirnya memperbaikinya ... Saya pikir itu mungkin melalui alat baris perintah ini yang tercantum dalam salah satu pos lainnya.
Marius
1
Gletser bukan S3. Keduanya merupakan bagian dari Amazon Web Services dan keduanya digunakan untuk menyimpan file, tetapi mereka memiliki kasus penggunaan yang berbeda, struktur pembayaran, pembatasan, dan API. Karena itu, alat S3 tidak berfungsi dengan Glacier dan alat Glacier tidak berfungsi dengan S3 (meskipun itu tidak berarti tidak ada alat di luar sana yang keduanya kompatibel dengan S3 dan Glacier, ditulis dengan penangan jaringan yang berbeda dan logika aplikasi untuk setiap layanan) .
Slipp D. Thompson