리눅스에서 cp 명령으로 복사를 하다가 중단한 것을 나중에 재개하는 문제(rsync 활용) 리눅스

cp 명령으로 복잡한 디렉토리 구조의 엄청 많은 파일을 복사하던 중에 시간이 없어서 중단하고 내일 다시 이어서 복사를 진행해야 하는 상황이 벌어졌을 경우에 대한 내용이다. 가끔 이런 일이 벌어지는 관계로 작업 절차를 정리해 두기로.

# ~/src 디렉토리의 내용 전체를 ~/backup 디렉토리로 복사
cp -r ~/src ~/backup

예를 들어 ~/src 디렉토리를 ~/backup 디렉토리 하위에 복사를 하고 있던 중에 ctrl-c 눌러서 중단을 했는데, 이미 복사된 것들을 다 지우고 다시 처음부터 복사하자니 그동안 들인 시간이 아깝다. 문제는 파일이 워낙 많다 보니, 대체 어느 파일을 복사하다가 중간에 끊어졌느냐를 찾아야 한다는 점.

find 명령을 이용해서 ~/backup 하위에서 2분내에 변경된 파일을 찾아서 지우면 된다. (좀 더 자세한 내용은 이전 게시물을 참고하자. 여기로)

# ~/backup 하위에서 2분내에 변경된 파일 출력
find ~/backup -type f -mmin -2

# ~/backup 하위에서 2분내에 변경된 파일을 찾아서 삭제
find ~/backup -type f -mmin -2 | xargs rm

자, 이제 다음날이 되어 복사를 재개해야 한다. 이미 복사된 파일은 내버려 두고 나머지만 복사할 것이므로 rsync 명령에 -u 옵션을 사용하면 되겠다. (좀 더 자세한 내용은 이전 게시물을 참고하자. 여기로)

# 복사 재개
rsync -r -v -u ~/src/ ~/backup/src



핑백

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

1441045
3392
1828172

ad_widget_2