OneDrive에서 파일 크기를 변경하는 이유는 무엇인가요?

OneDrive에서 파일 크기를 변경하는 이유는 무엇인가요?

저는 라이브 SharePoint 문서 라이브러리를 다른 문서 라이브러리로 마이그레이션하는 임무를 받았습니다. 가동 중지 시간을 최소한으로 유지하기 위해 OneDrive를 사용하여 두 문서 라이브러리를 내 PC에 동기화했으며 robocopy를 사용하여 두 로컬 복사본을 미러링하고 있습니다. 네트워크 공유에 대한 매우 일상적인 작업입니다.

그런데 미러 명령을 다시 실행해보니 robocopy가 또 많은 파일을 복사하는 것을 발견했습니다. 나는 몇 가지 변화를 기대할 수 있었지만 수천 가지 변화는 예상할 수 없었습니다. 또한 robocopy는 파일을 "변경됨"으로 표시했는데 이는 IMO가 robocopy의 매우 특이한 복사 이유입니다. 이는 타임스탬프는 변경되지 않았지만 파일 크기가 변경되었음을 의미합니다...

추가 진단 결과 다시 복사되는 것은 Office 문서(예: pptx)뿐인 것으로 나타났습니다. PDF 및 그래픽 파일과 같은 기타 파일 형식은 한 번만 복사되고 다시는 복사되지 않습니다.

나는 마침내 다음과 같은 관찰 결과를 추적했습니다.

  1. cmd.exe 복사를 사용하여 OneDrive에 파일 복사
  2. OneDrive에서 파일 크기를 바로 확인하면 원본 크기와 일치합니다.
  3. OneDrive가 동기화할 때까지 기다린 후 파일 크기를 다시 확인하세요.

크기가 변경되었습니다. 다음은 파일을 복사하고, 즉시 크기를 가져오고, 15초(동기화를 위해) 기다린 후 크기를 다시 가져오는 PowerShell 스크립트입니다.

$SourceFile = "S:\Temp\Helios\Library\Example.pptx"
$TargetFile = "C:\Users\rob.nicholson\Helios Medical Communications\Library - Documents (unused)\Example.pptx"
Copy-Item $SourceFile $TargetFile
$Length1 = (Get-Item $SourceFile).Length
$Length2 = (Get-Item $TargetFile).Length
Start-Sleep 15
$Length3 = (Get-Item $TargetFile).Length
Write-Host "Orignal size:    $Length1"
Write-Host "After copy size: $Length2"
Write-Host "After sync size: $Length3"

출력은 다음과 같습니다.

Source size:     1996810
After copy size: 1996810
After sync size: 1997141

파일 크기가 변경되는 이유를 설명할 수 있는 사람이 있나요? 또 다른 관찰은 OneDrive가 "업로드 중"이라고 말한 다음 즉시 "다운로드 중"이라고 표시된다는 것입니다. 이때 파일 크기가 변경됩니다.

OneDrive에서는 동기화 도구를 사용하기가 다소 어렵습니다. 말할 필요도 없이 Google Drive나 Dropbox에는 동일한 문제가 없습니다.

마지막 참고 사항: OneDrive "주문형"이 활성화되었습니다.

답변1

이 문제를 Microsoft와 논의하고 위에 링크된 기사를 읽은 후 OneDrive가 업로드 후 Office 문서에 추가 메타데이터를 추가하므로 문서가 업로드되고 즉시 다운로드된다는 점에서 이는 "설계상"입니다. 따라서 파일 크기가 변경됩니다. 문서 무결성을 보장하기 위해 파일 크기/MD5 체크섬에 의존하는 사람들에게 문제가 됩니다. 개인용 OneDrive 버전에서는 이런 일이 발생하지 않는 것으로 보이며 Office 이외의 문서는 변경되지 않습니다.

관련 정보