Robocopy에서 1314 Error 해결

DOEUN KIM·2024년 1월 4일
0

Windows Server

목록 보기
1/2
post-thumbnail

개요

  1. 고객사에서 파일서버 -> 새로운 NAS로 데이터마이그레이션 중 1314 에러 발생.
  2. 에러코드 : (Error 1314) A required privilege is not held by the client.

해결과정

기존의 배치파일코드 (형식상 아이피는 임의로 지정)

@echo off

rem "mobile Data Copy" 
set OLD_SERVER=192.168.1.1
set NEW_SERVER=192.168.1.2
set TGT_DIR=mobile
set Log_FILE=Robocopy_%TGT_DIR%_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.log


echo --- START : %DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2% --->>%USERPROFILE%\Desktop\%LOG_FILE%
Robocopy \\%OLD_SERVER%\%TGT_DIR% \\%NEW_SERVER%\%TGT_DIR% /COPYALL /MIR /R:1 /W:1 /V /TS /FP /BYTES /NP /LOG+:%USERPROFILE%\Desktop\%LOG_FILE%
echo --- END : %DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2% --->>%USERPROFILE%\Desktop\%LOG_FILE%
echo.>>%USERPROFILE%\Desktop\%LOG_FILE%

exit



  1. Robocopy의 옵션명령어와 함께 구글링 해본 결과,
    [SebackupPrivilege], [SeRestorePrivilege] 그룹에 속해있는 유저로 Robocopy커맨드를 실행한지 확인
whoami /priv

도메인 관리자로 로그인해서 실행했기에 문제는 없었다...
하지만, 계속 (Error 1314) A required privilege is not held by the client 가 발생

  1. COPY명령어를 다시한번 확인

/COPYALL == /COPY:DATSOU
/COPY:copyflag[s]: 파일에 대해 복사할 내용입니다. 기본값은 /COPY:DAT입니다.
copyflags에 들어갈 수 있는 내용
D: 데이터
A: 특성
T: 타임스탬프
S: 보안(=NTFS ACL)
O: 소유자 정보
U: 감사 정보

COPYALL 부분에서 감사정보를 뺀 COPY:DATSO로 변경 후 재실행하니 문제없이 실행됐는데,
COPYALL이 안된 이유는 아직도 수수께끼이다.

우선, 기본공유폴더에 어드민을 포함한 감사정보가 하나도 들어가 있지 않았기 때문에
이것이 원인일까? 라는 의문이 살짝쿵 듭니다.
한시가 급하니 우선 COPY:DATSO로 해두고 필요할 때 COPY:U를 추가로 하면 되겠지요?


2024.01.11 추가
윈도우 파일서버에서 새로운 NAS가 synology NAS였는데,
Synology NAS에서는 감사정보가 필요하지 않기 때문에 위와 같은 에러가 계속 발생한 것이였다.
원인을 알았기 때문에 추가로 COPY:U해줄 필요는 없는 것 같다.

정리

이런경우는 처음이라 찾아보는데 생각보다 시간이 좀 걸렸지만 이 또한 경험이니라.
Synology에선 Fastcopy라는 툴을 권장하고 있는데 이건 나중에 한번 직접 써봐야겠다.
이상.

참고자료

https://fastcopy.jp/
https://learn.microsoft.com/ko-kr/windows-server/administration/windows-commands/robocopy

profile
just do it

0개의 댓글