2011-12-06 2 views
28

큰 폴더 (~ 100GB)를 가져 와서 다른 폴더로 복사하고 싶습니다. 존재하지 않는 (폴더가 아닌) 모든 파일을 건너 뛰고 싶습니다. 따라서 디렉터리가 이미 존재하더라도 /music/index.html이 존재하지 않는다면 복사 할 수 있습니다. 존재하는 파일을 건너 뛰는 동안 파일 복사 - 유닉스

나는 this을 찾았지만, 내 껍질은 -u 유효한 인수하지 말하고있다.

나는 rsync 작품, 그래서 더 나은 솔루션 있다면 알려 주시기 바랍니다 방법을 모르겠어요.

감사합니다.

+3

'rsync'는 항상 더 나은 해결책입니다. 네, 그게 좋은 것입니다. –

+3

이 질문은 http://unix.stackexchange.com/ – Bruno

+0

... 또는 [su] –

답변

50

파일 복사에는 항상 rsync을 사용하십시오. 왜냐하면 It It Is Great입니다.

기존 파일을 무시하려면

rsync --ignore-existing --recursive /src /dst 

manual를 읽고 많은, 많은 훌륭한 예는 주변 검색 마십시오. 특히 ssh와 함께 사용하면 rsync--partial 옵션 때문에 느리고 신뢰할 수없는 연결을위한 훌륭한 도구가됩니다. 복사 할 파일을 확인하려면 --verbose을 추가하십시오. 허가, 사용자 및 타임 스탬프 보존에 관한 많은 옵션을 확인하십시오.

+0

으로 옮겨야합니까? 재귀 적이거나'-r'을 추가해야합니까? – switz

+1

완벽하게 이미 가동 중입니다. verbose 모드 ('-v')로 작동하여 작동한다고 말할 수 있습니다. 감사! – switz

+6

rsync가 작동하는 동안 진행 상황을 표시하려면 'rsync - 인간 판독 가능 - 진행 --ignore-existing - 재귀/src/dst' –

7

rsync(1) 원본과 대상이 서로 다른 두 컴퓨터에있을 때 절대적으로 빛납니다. 원본과 대상이 같은 컴퓨터에있을 때 사용하는 것이 더 나은 도구입니다. 그냥

rsync -av --ignore-existing /path/to/source /path/to/destination 

: 당신이 두 위치에 존재하는 모든 파일이 동일한 것으로 확신하는 경우

rsync -av /path/to/source /path/to/destination 

는 다음 --ignore-existing 옵션을 사용

간단한 사용과 같을 것이다 완전성을 위해 rsync(1)을 사용하여 원격 시스템에서 백업을 할 때 가장 선호하는 명령은 다음과 같습니다.

-z(나는 로컬 귀찮게하지,하지만 느린 네트워크 링크를 통해이 큰 차이를 만들 수 있습니다) 압축을 요청하고 -P--partial--progress 요청 - 이는 다시 사용됩니다 부분 파일 전송을 다시 시작해야하는 경우, 진행률 막대 표시기가 나타납니다.

관련 문제