저는 2003년에 NetApp 서버를 사용하는 회사에서 일했던 것을 기억합니다. 우리 홈 디렉토리에 다양한 스냅샷이 표시되는 스냅샷 디렉토리가 있었습니다. 마지막 분, 시간, 일, 주 등에 대한 스냅샷이 있었던 것 같습니다. 처음 Btrfs 파일 시스템을 설정할 때 Btrfs를 사용하여 유사한 인터페이스 제공을 자동화하는 스크립트를 찾을 수 없어서 놀랐습니다.
레이아웃이 어떻게 설정되었는지 정확히 기억할 수는 없지만 다음과 같은 것을 상상할 수 있습니다.
$HOME/some_file
$HOME/.snapshot/minute/2016-04-16_07_33/some_file
2016-04-16_07_34/...
2016-04-16_07_35
hour/2016-04-16_05_00
2016-04-16_06_00
2016-04-16_07_00
day/2016-04-14
2016-04-15
2016-04-16
week/2016-03-27
2016-04-03
2016-04-10
내가 찾고 있는 것은 에서 실행할 수 있는 스크립트로 cron
, 필요한 Btrfs 스냅샷을 생성하고 이를 위의 위치에 마운트합니다. 1분에 한 번씩 실행되어야 합니다. 각 시간 단위(분/시/일/주)에 대해 마지막 N 단위에 대해 구성 가능한 수 N의 스냅샷을 유지해야 합니다. 위의 예에서 N은 3입니다. 오래된 스냅샷은 사용 중이 아닌 이상 자동으로 삭제되어야 합니다. "사용 중"은 예를 들어 cd
그 중 하나에 연결했거나 다른 위치에 바인딩 마운트했음을 의미할 수 있습니다.
분명히 내 시스템뿐만 아니라 /
루트 시스템이나 아래에 동시 스냅샷을 갖는 것도 좋을 것입니다 ./home/some_other_user/
$HOME