모든 Snapper 스냅샷 지우기

모든 Snapper 스냅샷 지우기

OpenSUSE(및 기타 배포판) 사용도미스냅샷 찍기BTFS분할. 어떤 사람들은 기본 스냅샷 간격이 너무 빨리 너무 많은 공간을 차지한다고 생각하지만, 믿거나 말거나 때로는 파일 시스템의 공간을 정리하고 싶을 때가 종종 있습니다.BTFS스냅샷은 많은 공간을 차지합니다. 또는 다른 경우에는 파일 시스템을 가상 머신 안팎으로 이동하거나 스토리지 미디어를 변경하거나 유사한 작업을 수행하기 전에 파일 시스템에서 초과 데이터를 모두 지울 수도 있습니다.

그런데 모든 스냅샷을 빠르게 지우는 명령을 찾을 수 없는 것 같습니다.도미스내퍼나 기타 도구를 통해 얻습니다. 어떻게 해야 합니까?

답변1

최신 버전의 snapper에 있는 명령은 다음과 같습니다(언제 도입되었는지는 기억나지 않지만 예를 들어 openSUSE 13.2 버전에서는 이를 지원합니다).

snapper delete number1-number2

따라서 모든 스냅샷을 삭제하려면(스냅샷이 100,000개 이하라고 가정) 다음을 수행해야 합니다.

snapper delete 1-100000

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

snapper -c configname delete number1-number2

답변2

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

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

이로 인해 일부 유효하지 않은 항목(숫자가 스냅샷 ID와 일치하지 않는 경우)이 발생하여 무해한 오류 로그가 생성됩니다.

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

snapper list

이 솔루션도 찾았습니다.스내퍼 간격 및 보존 설정을 줄이는 방법에 대한 논의.

답변3

소식통:

sudo snapper -c root delete $(sudo snapper -c root list --columns number | tail +4)
  • sudo snapper -c root list --columns number— 스냅샷 번호 나열
  • tail +4— 헤더 행 2개와 스냅샷 번호 0을 건너뜁니다. 이는 스냅샷이 아닌 하위 볼륨입니다.
  • sudo snapper -c root delete— 하나 이상의 스냅샷을 삭제합니다. 이 명령은 무제한의 인수를 허용합니다.

답변4

이전 버전의 snapper(예: Debian jessie)를 사용하는 경우 bash-expansion을 사용할 수 있습니다.

snapper delete {1..999}

관련 정보