현재 ZFS 기반 NAS를 야간 및 주 단위로 스냅 샷하고 있는데,이 과정에서 엉덩이가 몇 번 절약되었습니다. 그러나 스냅 샷 생성은 cron에서 자동으로 수행되지만 이전 스냅 샷 삭제는 여전히 수동 작업입니다. 버스에 부딪 히거나 수동 작업을 수행하지 않으면 NAS에 디스크 공간이 부족해질 위험이 있습니다.
누구나 ZFS 시스템에 저장된 스냅 샷 수를 관리하는 데 사용할 수있는 좋은 방법 / 스크립트가 있습니까? 이상적으로는 주어진 ZFS 파일 시스템의 모든 스냅 샷을 반복하고 해당 파일 시스템의 마지막 n 개의 스냅 샷을 모두 삭제하는 스크립트를 원합니다 .
예를 들어 두 개의 파일 시스템이 있는데 하나는이라는 tank
것과 다른 하나는 이라고 sastank
합니다. 스냅 샷은 생성 된 날짜로 이름이 지정 sastank@AutoD-2011-12-13
되므로 간단한 sort
명령으로 순서대로 나열해야합니다. 지난 2 주일 동안의 매일 스냅 샷을 유지하려고 tank
하지만 마지막 2 일 동안의 스냅 샷 만 에 유지하려고합니다 sastank
.
sort -r
이전에 필요하다고 생각합니다sed
.sed
처음 15 줄 이상으로 목록의 맨 아래를 출력하는 것으로 보입니다. 기본 정렬에서 가장 최근입니다. 목록을 뒤집 으면 맨 아래에 가장 오래된 스냅 샷이 표시됩니다.