권한이 거부된 Rsync 파일에

권한이 거부된 Rsync 파일에

Rsync를 수행하기 위해 다른 위치로 복사할 수 없는 파일을 찾고 싶습니다. 외장 하드 드라이브와 시스템의 하드 드라이브가 있습니다. 외장 하드 드라이브에 내 시스템에서 누락된 파일이 있습니다. 어떻게 해야 할지 궁금합니다.

권한이 거부된 파일/디렉토리를 찾을 수 있습니다. - 메시지

find / ! -perm /u+r

권한 몇 개 어디 있어?

drwx------ 1  501 root       6 Oct 22  2014 PortableCV_WebCruiter_20141022

다음 명령이 작동할 수 있습니다.명령줄 fu.com, 여기에서는 원격 데이터를 외장 하드 드라이브로 취급할 수 있기 때문입니다.

rsync --rsync-path 'sudo rsync' username@source:/folder/ /local/

어느

sudo를 사용하여 루트로 원격 데이터 재동기화 사용자가 원격 시스템에 sudo를 가지고 있는 경우 루트로 로그인하지 않고도 루트로 데이터를 재동기화할 수 있습니다. 이는 원격 시스템이 SSH를 통한 루트 로그인을 허용하지 않는 경우에 유용합니다(일반적인 보안 제한).

외장 하드 드라이브와 시스템 하드 드라이브 간에 권한 거부 문제가 있는 파일을 동기화하는 방법은 무엇입니까?

답변1

읽을 수 없는 파일을 건너뛰려면 다음을 수행하세요.

find /external/hd/folder ! -readable -print >unreadable_files
rsync -a --exclude-from=unreadable_files /external/hd/folder/ /local/folder

이는 GNU를 사용하고 find있고 파일 이름에 개행 문자가 포함되어 있지 않다고 가정합니다.

외부 디스크에서 읽을 수 있는지 여부에 관계없이 모든 파일을 복사하려면 다음을 수행하십시오.

sudo rsync -a /external/hd/folder/ /local/folder
sudo chown -R masi:masi /local/folder

sudo rsync이는 및 을(를) 실행할 수 있는 충분한 권한이 있다고 가정합니다 sudo chown.

답변2

외장 하드 드라이브를 로컬 시스템에 마운트하는 경우 원격이 아닙니다. 내가 오해하지 않는 한, HDD가 rsync 데몬을 실행하고 네트워크를 통해 연결되어 있습니까? 하지만 잊어버리세요. 드라이브를 로컬로 마운트할 수 있나요? @mjturner가 말했듯이, 당신이 해야 할 일은 rsync루트로 실행 중이고 그것이 직접 복사본인지 확인하는 것뿐입니다 sudo rsync -a /mount/for/hdd/folder/ /local/.

답변3

rsync외장 하드 드라이브의 모든 파일을 시스템 하드 드라이브에 복사하면 어떨까요 ? 이미 존재하는 파일은 다시 복사하지 않습니다.

물론 모든 파일이 복사되고 권한이 유지되도록 하려면 루트로 복사해야 합니다.

관련 정보