2012-04-05 3 views
0

rsnapshot으로 백업하고 있습니다. 백업 경로는 다음과 같습니다어떻게 디렉토리를 잠글 수 있습니까?

name=$(date +"%Y-%m-%d_%H-%M") 
/backup/hourly.0/"$name" 

을 내 홈 디렉토리에있는 파일에 diffs를 만들기 위해 나는 다른 스냅 샷을 선택할 펄 스크립트에서. 내 스크립트를 실행하고있는 동안 스냅 샷을 회전 시작하지 않는 rsnapshot 있도록

my $backup = '/backup'; 

opendir my $dh, $backup or die $!; 
my @versions; 
while (defined(my $version = readdir $dh)) { 
    # ... 
    push @versions, $version; 
} 
# choose from @versions 
# do something with the choosen 

백업 디렉토리를 잠글 수있는 방법이 있나요?

답변

2

독점 잠금은 읽기 및 쓰기를 위해 파일을 열어야하며 디렉토리는 읽을 수 있도록 & 쓰기 용으로 열 수 없으므로 단독 잠금을 사용하여 디렉토리를 잠글 수 없습니다. 대신 파일을 잠글 수 있지만 파일 잠금은 권고 사항임을 기억하십시오. 따라서 rsnapshot이 디렉토리를 잠그지 않으면 잠글 것이고 다른 누구도 잠금에 관심을 두지 않고 아무 것도 성취하지 못합니다.

일부 옵션 :

  • 디렉토리 내부의 잠금 파일을 만들고 스크립트에서 독점적으로 잠급니다. 또한 rsnapshot을 호출하는 스크립트를 잠그십시오.
  • .0, .1 등의 타임 스탬프 대신 파일 이름의 접미사를 사용하여 이름을 바꾸지 않아도됩니다.
  • 검색하는 동안 사라지는 디렉토리에 대해 검색 스크립트를 강력하게 만듭니다. 디렉토리가 사라지면 무시하거나 스캔을 다시 시작하십시오.
관련 문제