리눅스에서 파일 날짜 및 속성을 그대로 유지한 채 폴더 혹은 하드디스크 통째로 복사하는 cp명령어 옵션

최근에 2테라 짜리 하드디스크가 고장나서 안에 있던 파일들을 통째로 다른 곳으로 옮겨야 할 상황이 생겼다. 파일이 용량이 작으면 그냥 삼바(SAMBA)를 이용해서 윈도우에서 작업해도 되는데 용량이 크다 보니 로컬에서 터미널을 열어서 하드디스크 통째로 옮기는 작업을 해야 하는 상황이었다.

리눅스에서 파일 복사하는 것이야 어렵지 않고, 또한 ‘리눅스 CP 명령어 옵션’을 검색해보면 결과가 많이 나오지만, 하드 디스크 통채로 복사할 일이 잘 없다 보니 매번 복사할 때마다 예전에 사용했던 옵션이 잘 생각이 안나는 것이었다. 옵션이 너무 많다 보니 필요한 옵션을 골라내기가 쉽지 않다.

하드 전체를 복사할 때에는 각 폴더와 파일의 날짜,속성을 그대로 유지한 채로 복사해야 하는데, 그때 사용하는 옵션들을 이번 기회에 정리해 두었다가 다음번에도 편리하게 사용하려 한다. 설명이 길었는데 간단히 요약하면 딱 아래와 같이만 하면 된다.

sudo cp -apr /sourcedirectory/myfolder /targetdirectory

sudo를 이용하여 root권한으로 sourcedirectory에 있는 myfolder라는 폴더를 통채로 targetdirectory 밑에다가 그대로 복사하라는 명령어다. 복사 도중에는 파일 소유자가 root로 잠겨 있어서 안의 내용을 볼 수는 없지만 복사가 끝나면 원래 소유자로 넘어가서 내용을 확인할 수 있다.

sudo cp -apr

sudo cp -apr 옵션을 이용해서 2010olympus 밑에 있는 Apollo-Apollo폴더 전체를 Demeter-Ceres 폴더 밑으로 통째로 복사하는 중이다.

root로 작업중이므로 복사 도중에 디렉토리 내부를 열어보려고 하면 허가 거부된다.

ls -al

복사가 완료된 후 폴더 내부를 살며보면 날짜와 소유자가 그대로 유지된채 복사되어 있는 것을 볼 수 있다.

몇시간에 걸친 복사가 끝난 후 디렉토리를 확인해보니 하위 폴더를 포함한 파일들까지 전부 원본 날짜와 소유자를 그대로 유지한 채 잘 복사되어 있다. 이 CP 명령어 옵션을 진작에 알았더라면 좋았을텐데 2010년에 새 서버를 구성할 때에는 멋모르고 그냥 단순히 cp명령어로 복사해 버리는 바람에 복사된 디렉토리의 날짜가 전부 2010년으로 리셋되어 버렸던 아픈 기억이 있다. 잊지말자 apr 옵션.

2 thoughts on “리눅스에서 파일 날짜 및 속성을 그대로 유지한 채 폴더 혹은 하드디스크 통째로 복사하는 cp명령어 옵션

  1. 궁금한것

    글 잘 봤습니다. 질문이 있는데 파일이 원본 날짜를 잘 가지고 있다는 뜻이, 수정한 날짜뿐만 아닌 만든 날짜와 액세스한 날짜 등의 모든 정보를 원본과 같이 그데러 가지고 있다는 건가요? 정말로 모든, 모든속성이 다 복제되듯 그대로 복사되는 건가 해서요

    Reply
    1. 이추 Post author

      글쎄요. 제가 이 글을 쓴 거는 폴더의 날짜 보존을 위해서 였는데, 각 파일의 액세스 날짜 등은 윈도우 NTFS에서 제공해주는 속성인 걸로 알고 있습니다. 리눅스 ext4에서도 그 속성이 있는지는 잘 모르겠네요.

      Reply

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다