Borg: Пометить архивы тегом "чернослив"?

Созданный на 6 апр. 2016  ·  5Комментарии  ·  Источник: borgbackup/borg

В настоящее время borg prune может ограничить архивы, подлежащие сокращению, только с помощью общего префикса. Это работает для схем именования, в которых «релевантная для сокращения» часть имен архивов находится впереди, например, system-<hostname>-<date> и userdata-<hostname>-<date> , но на самом деле не работает ни для чего другого.

Добавление тегов, то есть списка произвольных строк (исключая ",", который был бы разделителем тегов), может помочь. Команда "prune" и другие команды, использующие "--prefix", получат параметр "--tags", и будут затронуты только архивы, в которых указаны теги _all_ (или _any_, обсудить) (и по этой причине они должны быть неизменяемыми).


РЕДАКТИРОВАТЬ: Возможно, другой подход, без дополнительных полей метаданных, обратное применение .

Имена уже есть. Мы могли бы просто добавить что-то вроде --tags some,tags (всегда использовать здесь , качестве разделителя?) И --tag-delim - (какой разделитель по умолчанию?).

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

Самый полезный комментарий

Я бы хотел добавить в этот запрос функции теги / псевдонимы.

Проведя так много времени во вселенной git, мне хочется применить дополнительные теги к конкретным архивам borg.

Встраивание тегов в имя архива в настоящее время возможно, но это довольно непоследовательно, если вы хотите использовать несколько тегов для архива. Например, я уже использую имя архива для вставки имени хоста, метки времени и одного или двух других полей. Я также хочу добавить дополнительные теги, такие как «@latest» и «@ release-1». Это быстро становится беспорядком. Хуже того, мне иногда хочется переместить тег, например @latest, из одного архива в другой.

Если вы просто используете borg для резервного копирования файлов (конечно, это была его первоначальная миссия), вероятно, в тегах нет особой необходимости. Но если, как и я, вы обнаружили, что дедупликация borg очень полезна в других ситуациях, например, при архивировании очень больших файлов, используемых в конвейере анализа данных :-), то возможность назначать несколько тегов существующему архиву становится действительно важной.

В настоящее время я стараюсь создать исходный архив с разработанной мной схемой именования, а затем сразу же создать несколько дополнительных архивов с именами, начинающимися с "@" - @ beta2 , На сканирование / создание каждого из этих дополнительных архивов уходит пара минут, а в репозиторий добавляется всего несколько сотен байт, поскольку содержимое полностью идентично исходному архиву. (Ну, если файлы не изменились за эти пару минут.)

Было бы неплохо устранить это замедление, добавив метаданные тегов.

Я предполагаю, что пользовательский интерфейс будет примерно таким:

  • Создайте новый тег и укажите его на существующий архив:
    borg tag [repo::archive-name] [tag1] [tag2] ...

  • Список всех тегов и архивов, на которые они указывают
    borg tag --list [repo]

  • Удаление тегов может повторно использовать существующую команду borg delete или также может быть параметром команды:
    borg tag -d [repo] [tagname]

Спасибо, что обдумали это!

Все 5 Комментарий

Смешение имен и тегов кажется нечистым. Теги могут быть отдельными метаданными архива.

Хорошая мысль, но я не уверен, что здесь это не нормально (как дизайнерское решение). # 866 заставил меня задуматься: «Хм, а зачем на самом деле _is_ имя архива?». «Переработка» его для тегирования - не очень чистая вещь, но мне кажется вполне практичной (если это 100% явное согласие). В некотором смысле «теги» были бы просто другим способом взглянуть на поле «имя».

Я бы хотел добавить в этот запрос функции теги / псевдонимы.

Проведя так много времени во вселенной git, мне хочется применить дополнительные теги к конкретным архивам borg.

Встраивание тегов в имя архива в настоящее время возможно, но это довольно непоследовательно, если вы хотите использовать несколько тегов для архива. Например, я уже использую имя архива для вставки имени хоста, метки времени и одного или двух других полей. Я также хочу добавить дополнительные теги, такие как «@latest» и «@ release-1». Это быстро становится беспорядком. Хуже того, мне иногда хочется переместить тег, например @latest, из одного архива в другой.

Если вы просто используете borg для резервного копирования файлов (конечно, это была его первоначальная миссия), вероятно, в тегах нет особой необходимости. Но если, как и я, вы обнаружили, что дедупликация borg очень полезна в других ситуациях, например, при архивировании очень больших файлов, используемых в конвейере анализа данных :-), то возможность назначать несколько тегов существующему архиву становится действительно важной.

В настоящее время я стараюсь создать исходный архив с разработанной мной схемой именования, а затем сразу же создать несколько дополнительных архивов с именами, начинающимися с "@" - @ beta2 , На сканирование / создание каждого из этих дополнительных архивов уходит пара минут, а в репозиторий добавляется всего несколько сотен байт, поскольку содержимое полностью идентично исходному архиву. (Ну, если файлы не изменились за эти пару минут.)

Было бы неплохо устранить это замедление, добавив метаданные тегов.

Я предполагаю, что пользовательский интерфейс будет примерно таким:

  • Создайте новый тег и укажите его на существующий архив:
    borg tag [repo::archive-name] [tag1] [tag2] ...

  • Список всех тегов и архивов, на которые они указывают
    borg tag --list [repo]

  • Удаление тегов может повторно использовать существующую команду borg delete или также может быть параметром команды:
    borg tag -d [repo] [tagname]

Спасибо, что обдумали это!

Только начал пробовать борг недавно, но хотел добавить +1 к идее пометки. Я вижу пример использования, относящийся к резервному копированию, когда теги используются для определения того, для какой из нескольких облачных служб выполняется резервное копирование архива. Я предполагаю (на основе других обсуждений), что облачное резервное копирование, скорее всего, будет осуществляться с помощью отдельного инструмента, который собирает теги и, например, обрабатывает создание файла * .tgz для загрузки. (Вы даже можете добавить частоту резервного копирования в качестве отдельного обнаруживаемого тега, но такие вещи будут входить в сферу действия инструмента резервного копирования, а не самого borg.)

См. Проблему № 2300 для возможной реализации тега. В настоящее время это больше похоже на git tag чем на ярлыки Gmail - другими словами, для архива могут существовать дополнительные псевдонимы, но они должны быть уникальными. Возможно, будет нетрудно объединить эту идею с тем, что здесь обсуждается - метки, применяемые к нескольким архивам.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

pierreozoux picture pierreozoux  ·  4Комментарии

phdoerfler picture phdoerfler  ·  6Комментарии

ThomasWaldmann picture ThomasWaldmann  ·  6Комментарии

rugk picture rugk  ·  4Комментарии

chebee7i picture chebee7i  ·  5Комментарии