답변:
시도해 볼게요
rsync -a /from/file /dest/file
--append
, 와 같은 다른 옵션을 사용할 수 있습니다 -P (--partial --progress)
. 자세한 내용은 man rsync 를 참조하십시오.
또는 사용중인 cp
경우을 사용하십시오 cp -u
.
부터 man cp
:
-u, --update
copy only when the SOURCE file is newer than the destination file or when the destination file is missing.
cp -u
크기가 아닌 타임 스탬프 만 검사하므로 신경 쓰지 않을 수 있습니다. 따라서 touch
파일을 사용해야하는 경우 먼저 소스 파일이 필요 합니다 . (또는 그냥 사용하십시오 rsync
.)
부분 파일 전송의 경우 cp
필요하지 않을 수 있습니다.
rsync
대신 사용 하는 것이 좋습니다 . 전송이 실패하더라도 나중에 명령을 다시 실행하면 누락 된 파일 만 복사됩니다.
예:
$ rsync -aPEmivvz from/ to/
(복사됩니다 from/
로 to/
디렉토리)
rsync
각 전송 후 동기화 및 확인을 수행 하므로 파일이 올바르게 복사되었는지 확인하는 것은 쉽지 않습니다.
SWICH는 세트 -aPEmivvz
내 표준 이동-로 선택 등 플러그인 장치와 같은 SD-카드를 포함하여 네트워크 또는 외부 드라이브를 통해 파일을 복사 할 때마다
이들은 거의 항상 사용하는 스위치입니다.
-a
: "아카이브", 포함 -rlptgo
(재귀, 심볼릭 링크로서의 심볼릭 링크, 권한, 시간, 그룹, 소유자)
-P
: "부분 진행률"은 각 파일의 멋진 진행률 표시 줄을 보여줍니다
-E
: "실행 가능성"은 실행 가능 여부를 유지합니다.
-m
: "빈"은 빈 먼지를 제거합니다
-i
: 모든 업데이트에 대한 "요약"인쇄 변경 요약
-vv
: "더 자세한 정보"
-z
: "압축"
cp
이것을 위해 사용해서는 안됩니다 . 다른 사람들이 말했듯이 그것은 작업에 적합한 도구가 아닙니다. 올바른 도구는 목표에 달려 있습니다.
바로 사본을 원할 경우 :
rsync /source /destination
일정 수준의 플래그로. 정말 좋은 예는 다른 답변을 참조하십시오.
양방향 업데이트를 원할 경우
unison
갈 길입니다. Rsync는 양방향 동기화와의 충돌 해결에서 잘 수행되지 않습니다. 특별히 삭제합니다. 그래서 당신은 양방향 복사를 원합니다unison
백업을 원하고 파일이 텍스트 기반 인 경우을 사용해보십시오 git
. Git은 로컬에서 실행할 수 있으므로 "서버"가 필요하지 않습니다. 실제로 git 서버는 파일 공유 방법 일뿐입니다. 백업 드라이브에 git repo를 넣고 "push"할 수 있습니다. 다시 말하지만 파일이 텍스트 기반이고 단방향 백업을 시도하는 경우에만 실제로 작동합니다.
다시 한 번이 아닌 백업을 원한다면 deja-dupe, BackIntime 또는 유사한 옵션을 살펴보십시오. 특정 시점에서 데이터의 스냅 샷을 만듭니다. 그들은 모두 후드 아래에서 rsync를 실행합니다.