Назад | Перейти на главную страницу

Как узнать, завершилась ли операция копирования длинного файла?

Чтобы переместить несколько очень больших файлов (VHD) между двумя серверами, я запустил операцию копирования файлов с помощью проводника Windows в сеансе удаленного рабочего стола, а затем закрыл сеанс, не выходя из системы, оставив копию файла работать; на следующий день я снова вошел в систему, и копия файла, похоже, завершена ... но все метки времени в файлах (созданные, последний доступ, последнее изменение) относятся к времени, когда я запустил копию, и я точно знаю операция копирования заняла несколько часов.

Я ожидал, что по крайней мере временные метки «последний доступ» или «последнее изменение» будут относиться к фактическому времени, когда закончилась операция копирования файла, но похоже, что это не так, как это работает.

Как я могу проверить (если вообще могу), успешно ли завершилась копия и когда?

Размер файла не является показателем, поскольку файлы всегда выделяются в полном размере, даже если операция копирования прерывается.

Лучшее решение, которое я знаю, - использовать RoboCopy с /log: вариант.

Вы не указываете, какую операционную систему вы используете, однако более поздние версии Windows Performance Monitor могут быть использованы для указания времени, если вы добавите bytes sent per second или bytes read per second счетчик используемого сетевого интерфейса.

График монитора производительности показывает максимум 1000 точек (Windows 7*), если точность не слишком важна, вы можете установить частоту дискретизации 60 секунд с общей продолжительностью 60000 секунд (16,6 часа).

Это не будет очень точным, особенно на загруженном сервере, но может дать вам довольно хороший индикатор, особенно если вы объедините его с другими счетчиками, например активность логических дисков, размер выгружаемого пула ядра и т. д.

Если требуется более высокая точность времени или большая продолжительность, вы всегда можете включить ведение журнала.

Добавьте к этому утилиту контрольной суммы, чтобы убедиться, что файлы идентичны.

Приносим извинения за сжатие окна на скриншоте ниже, я не хотел, чтобы изображение генерировало полосы прокрутки в SF, но вы можете примерно увидеть эффект 60/60000, как подробно описано выше. Также извините за отсутствие полезных данных на графике, я, очевидно, не оставлял его включенным на достаточно долгое время, но идею вы поняли.

* Я уверен, что то же самое будет и с Windows Server 2008 R2, но в данный момент у меня нет коробки, на которой можно это проверить.

Вы могли бы использовать fciv для создания хэша файла на исходном и целевом серверах. Если хеши совпадают, вы можете быть на 100% уверены, что копирование прошло успешно.