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
외장 하드 드라이브의 모든 파일을 시스템 하드 드라이브에 복사하면 어떨까요 ? 이미 존재하는 파일은 다시 복사하지 않습니다.
물론 모든 파일이 복사되고 권한이 유지되도록 하려면 루트로 복사해야 합니다.