Я хотел бы иметь возможность доступа к разделу Linux через cygwin на Windows. Моя цель — резервное копирование данных с сервера Linux на мой домашний компьютер под управлением Windows 7. Сейчас это в основном работает, за исключением случаев, когда есть файлы с недопустимыми символами или если есть несколько файлов с одинаковыми буквами, но разным регистром.
решение1
Я использую VirtualBox. Это можно сделать двумя способами:
- Храните ваши данные в файлах VMDK
- это довольно просто и безопасно; вы также можете хранить файлы VMDK разного размера для своих резервных копий
- СоздатьRAW-дискдоступ к реальному разделу EXT3 на вашем жестком диске
- имейте в виду, что это сложный способ, и вы можете легко сломать свой раздел ext3
(особенно если вы используете режим ожидания или гибернации, пока он смонтирован) - и никогда не пытайтесь монтировать загрузочный раздел Windows RAW в режиме записи.
- имейте в виду, что это сложный способ, и вы можете легко сломать свой раздел ext3
Обновление:
Если вас интересует автоматизация:VBoxManageпозволяет управлять виртуальной машиной из командной строки.
решение2
Насколько я понимаю, вы хотите сделать резервную копию, скопировав полное дерево каталогов на другой компьютер, файл за файлом. Это, конечно, один из способов сделать резервную копию, но я бы предложил другой подход, особенно потому, что в вашем случае он, похоже, работает плохо.
Что я делаю сам (в принципе), так это создаю tarballs файлов, которые я хочу зарезервировать локально на сервере Linux, и сохраняю их где-то еще через ssh (на самом деле через sshfs, но неважно). Это должно устранить проблемы с именами файлов, если реализация tar на сервере Linux с ними справляется.
Это можно сделать, настроив cygwin с помощью сервера ssh для подключения к серверу Linux или с помощью команды типа
ssh $server "tar c -C /var/important ./" > backup.tar
запустить из cygwin на компьютере, на котором вы хотите сохранить резервную копию. Вы также можете сохранить tarballs на сервере Linux и перенести их позже.
Если вы хотите уменьшить объем потребляемой полосы пропускания и дискового пространства, я предлагаю использоватьзвездавместо gnu tar, и это инкрементальный режим, который позволяет включать только файлы, измененные после предыдущего резервного копирования. Он все равно не будет выполнять дельта-передачу rsync, и несколько версий файлов будут занимать место на диске. С другой стороны, tarball гораздо проще эффективно сжать (с помощью xz или чего-то еще), чем дерево каталогов.
решение3
Существует параметр реестра, определяющий, будет ли ядро Windows обрабатывать имена файлов без учета регистра:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive
Установите это 0
и перезагрузите, чтобы разрешить файлы, отличающиеся только регистром. Смотрите такжеhttp://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitive.
Cygwin 1.7 автоматически отображает символы, которые :
не допускаются в именах файлов Windows, в "область частного использования Unicode". Единственное большое исключение — обратная косая черта, которую он рассматривает как разделитель каталогов ради совместимости с Windows, поэтому единственное, что вы можете сделать с ними, — избегать их в именах файлов Linux или, конечно, использовать вообще другой подход.