Очистить все снимки Snapper

17

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

Но я не могу найти команду, чтобы быстро стереть все снэпшоты , сделанные снэпперами , либо через snapper, либо с помощью другого инструмента. Как бы я это сделал?

palswim
источник

Ответы:

25

Команда в последних версиях snapper (я не помню, когда она была представлена, но версия, например, openSUSE 13.2 поддерживает это):

snapper delete number1-number2

Таким образом, чтобы удалить все снимки (если у вас их не более 100000), вы должны сделать:

snapper delete 1-100000

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

snapper -c configname delete number1-number2
Quantumboredom
источник
Теперь я получаю сообщение об ошибке: моментальный снимок «100000» не найден.
Павел Шимерда
ты, ты, ты. Отметим, что оператор диапазона не работал, мне пришлось вручную удалить все 20 снимков.
Пол Викси,
4

Вы можете использовать forцикл для удаления всех снимков в пределах диапазона (запуск от имени пользователя root ).

# for i in `seq 1 999`; do snapper delete $i; done

Это приведет к попаданию в некоторые недействительные записи (когда число не соответствует идентификатору снимка), что приведет к безопасному журналу ошибок.

Чтобы определить диапазон (нижний и верхний предел) идентификаторов снимков, чтобы цикл не выполнялся слишком долго, используйте:

snapper list

Я нашел это решение вместе с обсуждением того, как уменьшить интервал действия и настройки удержания .

palswim
источник
-1

Если вы работаете над более старой версией snapper, например, в Debian jessie, вы можете использовать bash-extension:

snapper delete {1..999}
blaimi
источник