한 서버에서 다른 서버로 파일을 복사하는 일은 시스템 관리자가 자주 접하는 작업입니다. IT의 대부분의 작업이 그렇듯, 이 작업을 수행하는 방법은 여러 가지가 있습니다. 어떤 방법을 선택할지는 현재 상황과 개인적인 선호에 따라 달라집니다. 아래의 정보는 두 서버가 동일한 도메인에 있다는 가정을 기반으로 합니다.
명령줄이 마음에 들지 않는다면 새 서버로 파일을 그냥 끌어서 놓기만 하면 됩니다. 하지만 Windows 탐색기는 실질적인 오류 처리나 로깅 기능이 없으므로, 문제가 생기면 원인이 무엇인지 추측해야 하는 상황이 됩니다. 탐색기의 기능을 향상시키는 훌륭한 서드파티 도구가 몇 가지 있긴 하지만, 대부분의 관리자는 서버를 가능한 한 가볍고 깔끔하게 유지하는 것을 선호합니다.
가상 머신의 현대적인 환경에서는, 전체 VM 파일을 그대로 복사한 다음 이를 대상 서버의 보조 드라이브로 연결하는 방법도 있습니다. 이는 모든 파일과 동일한 권한 설정을 모두 그대로 원할 때만 가능합니다. 목표가 그것이라면 절차가 간단하고 결과도 잘 작동합니다.
Robocopy로 서버에 파일을 복사하는 방법
서버에 일부 파일만 복사하려는 경우라면, 아마도 Robocopy를 사용하는 것이 좋습니다. Robocopy는 Windows Server 2003부터 사용되어 왔으며 매우 강력한 도구입니다. Robocopy를 사용하면 단일 파일을 복사하면서 모든 권한을 제거하거나, 모든 NTFS 권한을 그대로 유지한 채 전체 드라이브를 미러링하는 것과 같은 작업을 할 수 있으며, 그 사이의 거의 모든 작업도 가능합니다. 작업자는 워크스테이션에서 Robocopy를 실행하면서 소스 및 대상 파일 서버를 지정할 수 있지만, 서버 중 하나에서 직접 실행하면 더 빠르고 네트워크 트래픽도 더 적게 발생합니다.
예를 들어 Server1의 DATA 폴더를 Server2로 복사하려면 다음 명령을 사용할 수 있습니다:
- Robocopy \\server1\data \\server2\data /mir /copyall /dcopy:T
이 작업은 모든 권한과 타임스탬프를 포함하여 원본 폴더 구조를 정확히 복사합니다. 미러를 생성하기 때문에 원본과 일치하지 않는 항목이 대상에 있으면 그 항목도 삭제됩니다. 빈 대상에 복사할 때는 이상적이지만, 이미 데이터가 있는 경우에는 잠재적으로 위험할 수 있습니다.
폴더 전체를 복사하고 싶지만 권한은 유지하지 않거나, 대상 폴더에서 어떤 항목도 삭제하지 않으려면 다음 명령을 사용할 수 있습니다.
- Robocopy \\server1\data \\server2\data /e
하지만 Robocopy는 단순 복사만 하는 도구가 아닙니다. 앞서 언급했듯이 매우 강력한 도구입니다. 소스 폴더를 모니터링(/mon)하도록 설정하고 변경이 감지되면 다시 복사할 수 있습니다. 실제로 아무것도 복사하지 않고 결과를 미리 보려면 /l(목록만)로 설정할 수도 있습니다. 또한 숨김 속성이 설정된 파일만 복사(/ia:H)하도록 하거나 숨김 파일을 제외(/xa:H)하도록 설정할 수 있습니다.
파일을 복사하지 않고도 몇 가지 작업을 수행할 수 있습니다. 예를 들어 /copyall 옵션을 사용해서 모든 권한을 복사해 두었지만, 이후에 원본에서 일부 권한을 변경해야 했을 수도 있습니다. 이때 /sec /nocopy를 사용하면 서버에서 파일을 다시 복사하지 않고도 권한을 업데이트할 수 있습니다.
이 도구를 사용할 수 있는 방법은 더 많으며, 전체 로깅 기능도 포함됩니다. 다음은 Robocopy 매개변수의 전체 목록입니다: Robocopy 명령줄 참조.
공유하기
더 알아보기
저자 소개