모든 Snapper 스냅 샷 지우기


17

OpenSUSE (다른 배포판 중에서)는 snapper 를 사용 하여 btrfs 파티션의 스냅 샷을 만듭니다. 어떤 사람들은 기본 스냅 샷 간격이 너무 빨리 공간을 너무 많이 차지한다고 생각하지만, 파일 시스템의 공간을 비우고 btrfs 스냅 샷이 많은 공간을 차지하는 경우가 있다고 생각하는지 여부에 관계없이 . 또는 다른 경우에는 파일 시스템을 VM으로 이동하거나 VM에서 저장 매체 또는 그 라인을 따라 무언가를 변경하기 전에 모든 초과 데이터의 파일 시스템을 지우고 싶을 수 있습니다.

그러나 스 내퍼 또는 다른 도구를 통해 스 내퍼 가 촬영 한 모든 스냅 샷을 신속하게 지우는 명령을 찾을 수없는 것 같습니다 . 어떻게해야합니까?

답변:


25

최신 버전의 snapper에서 명령은 다음과 같습니다. (소개 된 시점은 기억 나지 않지만 openSUSE 13.2와 같은 버전에서는이를 지원합니다).

snapper delete number1-number2

따라서 모든 스냅 샷을 삭제하려면 (100000 개를 넘지 않는다고 가정) 다음을 수행하십시오.

snapper delete 1-100000

분명히 이것은 기본 루트 구성에서 스냅 샷 만 삭제하므로 다른 구성의 경우 다음과 같습니다.

snapper -c configname delete number1-number2

이제 오류가 발생했습니다 : Snapshot '100000'을 찾을 수 없습니다.
Pavel Šimerda

ty, ty, ty. 참고로, 범위 연산자가 작동하지 않았습니다. 20 개의 스냅 샷을 모두 수동으로 삭제해야했습니다.
Paul Vixie

4

for루프를 사용하여 범위 내의 모든 스냅 샷을 삭제할 수 있습니다 ( root로 실행 ).

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

이는 유효하지 않은 일부 항목 (번호가 스냅 샷 ID와 일치하지 않는 경우)에 도달하여 무해한 오류 로그를 생성합니다.

루프가 불필요하게 오래 실행되지 않도록 스냅 샷 ID의 범위 (하한 및 상한)를 결정하려면 다음을 사용하십시오.

snapper list

Snapper interval 및 Retention 설정을 줄이는 방법에 대한 설명 과 함께이 솔루션을 찾았습니다 .


-1

Debian jessie와 같은 이전 버전의 snapper에서 작업하는 경우 bash-expansion을 사용할 수 있습니다.

snapper delete {1..999}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.