Unix

rsync -avu

알 수 없는 사용자 2012. 2. 26. 13:42
많은 양의 파일을 복사할 때에는 중간에 끊어야 할 일이 생기기도 (몇시간씩 복사하니까) 하고 복사가 다 되었는지 안 되었는지 검증을 해볼 필요가 있다. 그런 점에서 리눅스에서 파일을 복사할 때에는 rsync를 쓰는 것이 좋은 것 같다:

rsync -avu --delete sourcedir/ destdir/

주의할 점. 디렉토리 명 뒤에 /를 붙이는 것과 안 붙이는 것은 차이가 있다. 차이점이 정확히는 기억이 안 나는데 만약 destdir에 /를 안 붙이면 destdir내에 sourcedir과 같은 이름의 디렉토리가 생기고 거기다 복사되는 것이고, /를 붙이면 두 디렉토리가 동기화되는 것이라, 디렉토리를 만들고 복사되지 않을 것이다.

avu 옵션 중...
a는 archive모드였던가... 권한/파일 생성 시간 같은걸 다 보존해줄거다.
u는 업데이트로서 destdir의 것이 더 새것이면 덮어씌우지 않는다 그런 개념일... 걸?!
v: 오랫동안 복사하는데 아무 메시지도 안 나오면 너무 심심하니까 무슨 파일을 작업중인지 정도는 화면에 뜨게...

--delete는 생략해도 되는데, src/dest 양 디렉토리를 비교해서 원본쪽에서 삭제된 게 있으면 사본쪽에도 삭제하란 말이다.


GUI에서 복사하다 끊어먹으면, "덮어 씌울까요 말까요"를 자꾸 물어서 귀찮고 (특히 대용량 파일을 모두 덮어씌움으로 설정하면 복사 한걸 또 복사해서 너무 오래 걸리게 됨...) CLI에서 cp명령어로 복사하면 역시 이어서 복사하기가 안 되고 결국 찾은 것이라고 찾은게 rsync... OTL