Домашняя » как » Резервное копирование / копирование файлов, которые «используются» или «заблокированы» в Windows (командная строка)

    Резервное копирование / копирование файлов, которые «используются» или «заблокированы» в Windows (командная строка)

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

    Начиная с XP, Windows поддерживает технологию Volume Shadow Copy, которая используется для включения функций предыдущих версий в Vista, а также для восстановления системы и резервного копирования. Для этого необходимо сделать временный снимок файла или диска, а затем разрешить приложению читать снимок, даже когда другие приложения обращаются к файлу или изменяют его..

    Что мы можем сделать, это использовать утилиту командной строки под названием HoboCopy, которая использует этот сервис для копирования файла.

    Понимание предпосылок

    HoboCopy и большинство других утилит резервного копирования используют две службы в Windows, и вам необходимо убедиться, что эти службы не отключены:

    • Volume Shadow Copy
    • Microsoft Software Shadow Copy Provider

    Их можно оставить как ручной запуск, поэтому им не нужно постоянно работать. При необходимости Hobocopy автоматически запустит две службы, а служба Volume Shadow Copy будет отключена после завершения..

    Использование HoboCopy для резервного копирования / копирования одного файла

    Синтаксис немного странный, потому что HoboCopy действительно предназначен для резервного копирования всего набора папок. Мы можем использовать его для резервного копирования одного файла, передав аргумент имени файла в конце.

    Примечание: в Windows Vista вам нужно будет запустить командную строку режима администратора, щелкнув правой кнопкой мыши на командной строке в меню «Пуск» и выбрав «Запуск от имени администратора»..

    Синтаксис:

    hobocopy c: \ directoryname \ d: \ backupdirectory \

    Например, я хочу сделать резервную копию моего файла c: \ users \ geek \ mail \ outlook.pst в d: \ backups \ outlook.pst. Вот синтаксис, который я бы использовал:

    C: \> hobocopy c: \ users \ geek \ mail \ d: \ backups \ Outlook.pst

    HoboCopy (c) 2006 Корпорация Вангдера. [email protected]

    Запуск полной копии с c: \ users \ geek \ mail to d: \ backups \
    Скопированный каталог
    Резервное копирование успешно завершено.
    Резервное копирование началось в 2008-03-09 01:57:28, завершено в 2008-03-09 01:58:39.
    Скопировано 1 файлов (606,45 МБ, 1 каталогов), пропущено 7 файлов

    Использование HoboCopy для резервного копирования всего каталога

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

    /полный Скопируйте все файлы
    / skipdenied Игнорировать любые сообщения о запрещении доступа из-за ошибок разрешения.
    Копировать рекурсивно
    / у Не подскажите, просто скопируйте все

    Синтаксис:

    hobocopy / full / skipdenied / y / r c: \ directoryname \ d: \ backupdirectory \

    Давайте рассмотрим тот же пример, я хочу сделать резервную копию всего моего пользовательского каталога в d: \ backups \, поэтому я бы использовал эту команду:

    hobocopy / full / skipdenied / y / r c: \ users \ geek \ d: \ backups \

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

    Использование HoboCopy для постепенного резервного копирования диска

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

    / Statefile = имя_файла Этот флаг указывает файл, который содержит последнюю информацию о резервном копировании.
    / инкрементный Копировать только те файлы, которые были изменены с момента последней полной копии.

    Синтаксис:

    hobocopy / incremental / statefile = имя файла / y / r c: \ имя_каталога \ d: \ backupdirectory \

    Пример:

    hobocopy / incremental /statefile=d:\lastbackup.dat / y / r c: \ users \ geek \ d: \ backups \

    При первом запуске этой команды вам нужно будет использовать / full вместо / incremental, иначе вы получите ошибку, так как файл состояния еще не создан. После этого вы можете запустить инкрементное резервное копирование с ключом / incremental.

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

    Загрузите HoboCopy с sourceforge.net