rsnapshot: 읽기 전용 디렉터리를 포함하여 트리에서 모든 파일을 제거하는 방법

rsnapshot: 읽기 전용 디렉터리를 포함하여 트리에서 모든 파일을 제거하는 방법

rm -f방금 읽기 전용 디렉터리를 포함하여 트리에서 파일을 제거할 수 없다는 것을 발견했습니다 . 이 작업을 수행할 수 있는 대체 명령이 있습니까? 제거는 rnapshot에 의해 트리거되며 "cmd_rm"에 다른 값을 제공하는 것을 고려했습니다.

배경: rnapshot_delete.XXXXX 폴더를 제거할 때 "권한 거부됨" 오류가 많이 발생하는 것을 사용하고 있습니다. 오류는 읽기 전용 디렉터리의 파일에서 정확하게 발생합니다. 이 디렉토리는 git-annex에 의해 자동으로 생성되었기 때문에 단순히 쓰기 권한을 부여할 수는 없습니다.

예:

읽기 전용 디렉터리에 서로 다른 쓰기 권한을 가진 두 개의 파일을 설정합니다.

$ mkdir mydir
$ 터치 mydir/test1
$ 터치 mydir/test2
$ chmod aw mydir/test1
$ chmod aw mydir/

해당 항목을 제거해 보십시오.

$ rm -r mydir/
rm: 쓰기 금지된 디렉토리 'mydir'로 내려가시겠습니까? 와이
rm: 쓰기 금지된 일반 빈 파일 'mydir/test1'을 제거하시겠습니까? 와이
rm: 'mydir/test1'을 제거할 수 없습니다: 권한이 거부되었습니다.
rm: 'mydir/test2'를 제거할 수 없습니다: 권한이 거부되었습니다.

파일을 직접 제거할 수도 없습니다.

$ rm -rf mydir/test2
rm: 'mydir/test2'를 제거할 수 없습니다: 권한이 거부되었습니다.

제거가 작동하기 전에 읽기 전용 디렉토리를 검색하고 쓰기 가능하게 만들기:

(/path/to/remove -type d -not -writable | xargs chmod u+w 찾기) && rm -rf /path/to/remove

그러나 이 명령은 다소 간단한 작업에 실제로 관여하는 것 같습니다. 이게 정말 유일한 해결책인가요? rsnapshot에게 그런 일을 하라고 어떻게 알릴 수 있나요?

답변1

댓글을 달 수가 없어서 여기에 글을 남깁니다.

내가 아는 한 읽기 전용은 읽기 전용 - 마침표를 의미합니다. 읽지 않고 씁니다.

디렉토리 읽기 쓰기를 마운트해야 할 것 같습니다.

관련 정보