Обеспечивает ли команда xcopy в Windows безопасное резервное копирование данных?

Обеспечивает ли команда xcopy в Windows безопасное резервное копирование данных?

Недавно я сделал резервную копию данных на своем компьютере с помощью команды xcopy. Я быстро просмотрел некоторые из моих резервных файлов и каталогов, и они выглядели так же, как оригиналы. Однако я понимаю, что некоторые люди используют мастера резервного копирования вместо xcopy, и мне было интересно, предоставляет ли xcopy безопасный способ резервного копирования данных.

Я ввел следующую команду в терминале командной строки Windows:

xcopy [Источник] [Назначение] /s /e /v

Моим источником был мой домашний каталог на моем жестком диске. (Мой жесткий диск не разбит на разделы, и у меня только один домашний каталог.) Моим местом назначения был новый каталог, который нужно было создать на флэш-накопителе. После ввода команды меня спросили, является ли местом назначения каталог или файл, и я указал каталог. Я использовал опцию "/s" для копирования подкаталогов. Я использовал опцию "/e" для копирования пустых каталогов. Я использовал опцию "/v" для проверки того, что все копии были такими же, как оригиналы. Не было зашифрованных файлов для копирования.

Для параметров, которые я включил в свою команду, я считаю, что правильный порядок был "/s /e /v". Однако я не помню наверняка, что я использовал именно этот порядок. Имеет ли значение порядок этих параметров?

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

Я понимаю, что есть опция "/h" для копирования скрытых файлов. Я не включил эту опцию, так как мои данные не будут находиться в скрытых файлах, и я читал, что лучше не трогать скрытые файлы. Я понимаю, что скрытые файлы создаются Windows для запуска операционной системы и программ и скрываются, чтобы пользователи непреднамеренно не трогали их.

Я сделал резервную копию своих данных, так как планирую установить Ubuntu на свой компьютер. Для надежности я создал несколько резервных копий, каждую на отдельном флэш-накопителе. Я понимаю, что мне следует периодически делать резервную копию своих данных, и я планирую сделать это после установки Ubuntu. Поскольку мои данные хранятся в каталогах Windows, я понимаю, что мне может понадобиться использовать Wine для доступа к своим данным из Ubuntu.

Прежде чем приступить к установке, я подумал, что мне следует спросить, безопасен ли мой метод использования команды xcopy. Ожидается ли, что моя команда скопирует все мои данные из моего домашнего каталога? Остановился бы процесс и выдал бы мне сообщение об ошибке, если бы файл или подкаталог не были скопированы правильно? Есть ли смысл использовать вместо этого мастер резервного копирования?

Спасибо.

решение1

Изучив эту проблему более подробно, я пришел к выводу, что решение состоит в том, чтобы сначала выполнить команду xcopy, которую я опубликовал, а затем выполнить следующую команду:

эхо %ERRORLEVEL%

Я полагаю, что команда выше выведет уровень ошибки, сгенерированный xcopy. Вывод нуля от команды echo будет означать, что не было ошибок при запуске xcopy, и копирование прошло успешно.

Поскольку моя команда xcopy включает атрибуты «/s /e /v», все подкаталоги и их содержимое копируются, а копии проверяются на идентичность оригиналам.

Я узнал о команде «echo %ERRORLEVEL%» из следующего источника:

https://www.computerhope.com/jargon/e/erroleve.htm#testing-errorlevel

Я удалил недавнюю резервную копию с флэш-накопителя, создал новую резервную копию с помощью описанной мной команды xcopy и выполнил команду echo. Команда echo вернула значение ноль, что, как я полагаю, означает, что не было ошибок при создании копии. Поэтому я считаю, что копирование прошло успешно.

@SenorCMasMas: Я попробовал ваше предложение использовать robocopy. Однако команда robocopy перенесла файлы из каталогов, которые я мог видеть только набрав "dir /a". Я полагаю, что это были системные и скрытые файлы. Robocopy застрял, пытаясь передать определенный файл из скрытого каталога, и я прервал процесс с помощью "Ctrl-C". Я полагаю, что для передачи файла, вероятно, требовались права администратора. Однако я не пробовал запускать командную строку от имени администратора, потому что я хочу только сделать резервную копию своих данных и не хочу передавать системные и скрытые файлы. Я понимаю, что robocopy может исключить передачу определенных типов файлов при использовании с параметром "/xa:". Я пробовал использовать этот параметр, чтобы исключить системные и скрытые файлы, но robocopy все равно перенесет файлы из скрытых каталогов, а затем застрянет на одном таком файле. Я пробовал "/xa: s" для исключения системных файлов, "/xa: h" для исключения скрытых файлов, "/xa: sh" и "/xa: s /xa: h". Каждый раз возникала одна и та же проблема.

Я немного почитал о robocopy и понял, что основное преимущество этой команды в том, что она позволяет переносить каталоги и файлы, не изменяя те, которые были перенесены ранее. Я пытаюсь создать резервную копию в первый раз. Поэтому я не понимаю, зачем мне использовать robocopy. Я считаю, что команда xcopy подойдет для моих целей.

@JW0914: Вы сказали, что и xcopy, и robocopy неэффективны, и нет гарантии целостности данных. Сейчас на моем компьютере сохранено не так много данных, и xcopy не занял необоснованно много времени. Поэтому я не думаю, что мне нужно беспокоиться об эффективности. Поскольку я использовал параметр "/v", xcopy проверил, что копии идентичны оригиналам. Поскольку моя команда "echo %ERRORLEVEL%" не вывела никаких сообщений об ошибках, я считаю, что при копировании моих данных не было ошибок. Поэтому я не считаю, что должны быть какие-либо проблемы с целостностью данных.

Вы сказали, что не следует использовать Linux для резервного копирования Windows. Я не пытаюсь использовать Linux для резервного копирования Windows. У меня есть опыт работы с Linux, и я предпочитаю эту операционную систему. Мне следовало установить Linux сразу после того, как я получил свой компьютер, но я этого не сделал. Вот почему у меня есть данные в моей системе Windows. Теперь я хочу установить Linux, но сначала мне нужно убедиться, что мои данные надежно сохранены.

Спасибо SenorCMasMas и JW0914. Я ценю ваш вклад. Я был бы признателен за любой дополнительный вклад, который вы могли бы предложить, а также за вклад от других.

Связанный контент