Borg: Menandai arsip untuk "pangkas"?

Dibuat pada 6 Apr 2016  ·  5Komentar  ·  Sumber: borgbackup/borg

Saat ini borg prune hanya dapat membatasi arsip yang akan dipangkas oleh awalan umum. Ini berfungsi untuk skema penamaan adalah bagian "pangkas-relevan" dari nama arsip ada di depan, misalnya system-<hostname>-<date> dan userdata-<hostname>-<date> , tetapi tidak benar-benar berfungsi untuk hal lain.

Menambahkan tag, yaitu daftar string arbitrer (tidak termasuk "," yang akan menjadi pemisah tag) akan membantu. "Prune" dan perintah lain yang menggunakan "--prefix" akan mendapatkan opsi "--tags", dan hanya arsip yang memiliki _all_ (atau _any_, diskusikan) tag yang terdaftar yang akan terpengaruh (dan mereka tidak dapat diubah karena alasan ini).


EDIT: Pendekatan yang berbeda mungkin, tidak ada bidang metadata tambahan, berlaku mundur .

Nama-namanya sudah ada. Kita bisa menambahkan sesuatu seperti --tags some,tags (selalu gunakan , sebagai pembatas di sini?) dan --tag-delim - (apa batasan sebagai default?).

tags = set(args.tags.split(args.tag_delim))
for archive in ...:
  if set(archive.name.split(args.tag_delim)) <= tags:
    ...  # prune
enhancement

Komentar yang paling membantu

Saya ingin memenuhi permintaan fitur ini untuk tag/alias.

Setelah menghabiskan begitu banyak waktu di alam semesta git, saya mendapati diri saya berharap dapat menerapkan tag tambahan ke arsip borg tertentu.

Menyematkan tag dalam nama arsip saat ini dimungkinkan, tetapi cukup sulit diatur ketika Anda ingin menggunakan beberapa tag untuk arsip. Misalnya, saya sudah menggunakan nama arsip untuk menyematkan nama host, stempel waktu, dan satu atau dua bidang lainnya. Saya juga ingin menambahkan tag tambahan seperti "@latest" dan "@release-1". Ini menjadi berantakan dengan cepat. Parahnya, saya terkadang ingin memindahkan tag seperti @latest dari satu arsip ke arsip lainnya.

Jika Anda hanya menggunakan borg untuk membuat cadangan file (memang, misi aslinya), mungkin tidak perlu banyak tag. Tetapi jika, seperti saya, Anda telah menemukan deduplikasi borg sangat berguna dalam situasi lain, seperti pengarsipan file yang sangat besar yang digunakan dalam pipa analisis data :-) maka kemampuan untuk menetapkan beberapa tag ke arsip yang ada menjadi sangat penting.

Saat ini, solusi saya adalah membuat arsip asli dengan skema penamaan yang saya buat, dan kemudian segera membuat beberapa arsip tambahan dengan nama yang dimulai dengan "@" -- @latest , @v1.0, @beta2 , dll. Masing-masing dari arsip tambahan tersebut membutuhkan beberapa menit untuk memindai/membuat, dan menambahkan hanya beberapa ratus byte ke repositori karena isinya benar-benar identik dengan arsip asli. (Yah, selama file tidak berubah dalam beberapa menit itu.)

Akan sangat bagus untuk menghilangkan pelambatan itu dengan menambahkan metadata tag.

Saya membayangkan UI menjadi seperti ini:

  • Buat tag baru dan arahkan ke arsip yang ada:
    borg tag [repo::archive-name] [tag1] [tag2] ...

  • Daftar semua tag dan arsip yang mereka tunjuk
    borg tag --list [repo]

  • Menghapus tag dapat menggunakan kembali perintah borg delete atau bisa juga dengan opsi perintah:
    borg tag -d [repo] [tagname]

Terima kasih telah mempertimbangkan ini!

Semua 5 komentar

Mencampur nama dan tag terasa tidak bersih. Tag dapat berupa metadata arsip terpisah.

Poin bagus, tapi saya tidak yakin apakah itu tidak apa-apa di sini (sebagai keputusan desain). #866 membuat saya berpikir "Hm, sebenarnya untuk apa _nama arsip itu?". "Mendaur ulang" untuk penandaan bukanlah hal yang benar-benar bersih untuk dilakukan, tetapi tampaknya cukup praktis bagi saya (jika itu 100% keikutsertaan eksplisit). Di satu sisi "tag" hanya akan menjadi cara yang berbeda untuk melihat bidang "nama".

Saya ingin memenuhi permintaan fitur ini untuk tag/alias.

Setelah menghabiskan begitu banyak waktu di alam semesta git, saya mendapati diri saya berharap dapat menerapkan tag tambahan ke arsip borg tertentu.

Menyematkan tag dalam nama arsip saat ini dimungkinkan, tetapi cukup sulit diatur ketika Anda ingin menggunakan beberapa tag untuk arsip. Misalnya, saya sudah menggunakan nama arsip untuk menyematkan nama host, stempel waktu, dan satu atau dua bidang lainnya. Saya juga ingin menambahkan tag tambahan seperti "@latest" dan "@release-1". Ini menjadi berantakan dengan cepat. Parahnya, saya terkadang ingin memindahkan tag seperti @latest dari satu arsip ke arsip lainnya.

Jika Anda hanya menggunakan borg untuk membuat cadangan file (memang, misi aslinya), mungkin tidak perlu banyak tag. Tetapi jika, seperti saya, Anda telah menemukan deduplikasi borg sangat berguna dalam situasi lain, seperti pengarsipan file yang sangat besar yang digunakan dalam pipa analisis data :-) maka kemampuan untuk menetapkan beberapa tag ke arsip yang ada menjadi sangat penting.

Saat ini, solusi saya adalah membuat arsip asli dengan skema penamaan yang saya buat, dan kemudian segera membuat beberapa arsip tambahan dengan nama yang dimulai dengan "@" -- @latest , @v1.0, @beta2 , dll. Masing-masing dari arsip tambahan tersebut membutuhkan beberapa menit untuk memindai/membuat, dan menambahkan hanya beberapa ratus byte ke repositori karena isinya benar-benar identik dengan arsip asli. (Yah, selama file tidak berubah dalam beberapa menit itu.)

Akan sangat bagus untuk menghilangkan pelambatan itu dengan menambahkan metadata tag.

Saya membayangkan UI menjadi seperti ini:

  • Buat tag baru dan arahkan ke arsip yang ada:
    borg tag [repo::archive-name] [tag1] [tag2] ...

  • Daftar semua tag dan arsip yang mereka tunjuk
    borg tag --list [repo]

  • Menghapus tag dapat menggunakan kembali perintah borg delete atau bisa juga dengan opsi perintah:
    borg tag -d [repo] [tagname]

Terima kasih telah mempertimbangkan ini!

Baru mulai mencoba borg baru-baru ini tetapi ingin memberi +1 pada ide pemberian tag. Saya dapat melihat kasus penggunaan yang relevan dengan pencadangan di mana tag digunakan untuk menentukan dari beberapa layanan cloud mana arsip dicadangkan. Saya membayangkan (berdasarkan diskusi lain) bahwa cadangan cloud kemungkinan besar akan melalui alat terpisah yang mengambil tag dan, misalnya, menangani pembuatan file *.tgz untuk diunggah. (Anda bahkan dapat menambahkan frekuensi pencadangan sebagai tag terpisah yang dapat dideteksi, tetapi hal semacam itu akan berada dalam cakupan alat pencadangan daripada borg itu sendiri.)

Lihat masalah #2300 untuk kemungkinan penerapan tag. Saat ini lebih mirip git tag daripada seperti label Gmail -- dengan kata lain, alias tambahan dapat ada untuk arsip, tetapi harus unik. Mungkin tidak sulit untuk menggabungkan ide itu dengan apa yang dibahas di sini -- label yang diterapkan ke banyak arsip.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat