실수로 파일을 제거/변경하는 것을 방지하는 방법은 무엇입니까?

실수로 파일을 제거/변경하는 것을 방지하는 방법은 무엇입니까?

우분투 10.04를 사용하고 있습니다. 나는 내 스크립트에서 꽤 자주 사용하는 데이터 파일과 (많은 하위 디렉터리)이 포함된 큰 디렉터리를 가지고 있습니다. 나는 이 슈퍼 디렉토리에 있는 파일/디렉터리를 실수로 제거/덮어쓰기/변경하지 않도록 하고 싶습니다.

어떻게 해야 합니까?

답변1

대부분 보호 수준을 낮추고 편의성을 높이는 순서로 정렬됩니다.

  • CD-ROM과 같은 물리적으로 읽기 전용 미디어에 파일을 저장합니다.

  • 읽기 전용으로 마운트하는 별도의 파일 시스템에 파일을 저장합니다.

  • 관리자인 경우 다른 사용자를 생성하고 해당 파일을 다른 사용자가 소유하도록 만드십시오.

  • 퓨즈 사용바인드(Ubuntu 패키지 bindfs) 디렉토리 트리의 읽기 전용 보기를 생성하고 이 읽기 전용 보기에서 스크립트를 가리킵니다.:

    bindfs -p a-w /path/to/actual/tree /path/to/readonly/view
    myscript -d /path/to/readonly/view
    
  • 를 사용하여 디렉토리 트리를 읽기 전용으로 만듭니다 chmod a-w /path/to/tree.

  • 하드 링크된 파일을 사용하여 트리의 복사본을 만들고 스크립트에서 해당 복사본을 가리킵니다. 그러면 스크립트가 기존 파일을 계속 수정할 수 있지만 파일을 생성, 제거 또는 교체하는 경우 복사본에만 영향을 미칩니다.

    cp -al /path/to/actual/tree /path/to/readonly/view
    myscript -d /path/to/readonly/view
    

BINDFS를 사용하는 것이 좋습니다. 귀하의 요구 사항에 따라 다른 작업을 수행하는 유일한 이유는 해당 요구 사항을 사용할 수 없는 경우입니다.

스크립트가 디렉토리 트리에 쓸 수 있기를 원하지만 실제 파일에는 영향을 주지 않고 통합 파일 시스템을 사용할 수 있습니다. 예를 들어재미또는Unionfs-퓨즈.

답변2

무슨 일이 있어도 결국에는 언제든지 삭제할 수 있기 때문에 실질적인 방법은 없습니다.

그래도 파일 권한을 사용해 볼 수 있습니다. 디렉터리를 마우스 오른쪽 버튼으로 클릭하고 폴더 액세스를 파일 액세스로 설정하고 파일 액세스를 읽기 전용으로 설정합니다. 그런 다음 첨부된 파일에 권한 적용을 클릭하세요. 이렇게 하면 해당 디렉터리의 파일을 삭제하기로 결정할 때 이 설정을 수동으로 해제해야 합니다.

답변3

rsync디렉토리를 다른 디렉토리에 추가 하고 --link-dest하드링크를 생성하여 추가 공간을 차지하지 않도록 할 수 있습니다.

좋은 글은모든 유닉스를 위한 타임머신.

답변4

실수하는 것은 인간이다. 방금 일어났는데도 여전히 졸려서(숙취 없음) 중요한 파일을 삭제한 적이 있습니다. :) 다행스럽게도 그런 어리석은 행동의 부정적인 영향을 완화하는 데 도움이 되는 몇 가지 요령을 배운 지 한참 후에 그런 일이 일어났습니다. 여기 있습니다:

  • 항상 백업을 만들고, 백업에 포함되어야 할 내용이 실제로 포함되어 있는지 주기적으로 확인하고, 파일이 손실되는 상황을 방지하려면, 백업에서 해당 파일을 복원하고 어떤 이유로든 해당 파일이 백업에 포함되어 있지 않은지 확인하세요.
  • 버전 제어 사용
  • inotify와 같은 회계 시스템을 사용하면 파일 시스템 변경 사항을 추적하는 데 도움이 됩니다.

그 사건을 계기로 저는 "아직 졸려 있을 때는 절대 컴퓨터를 만지지 마세요"라는 단호한 규칙을 추가로 세웠습니다.

관련 정보