8

У меня дома новый беспроводной маршрутизатор, и к нему подключен накопитель на 3 ТБ. Я хотел бы написать скрипт резервного копирования в Cygwin, который будет копировать любые измененные файлы на внешний жесткий диск.

Для начала, как мне cd на жесткий диск? В проводнике Windows я просто //192.168.1.1 и он берет меня на сетевой диск. Однако, когда я cd //192.168.1.1 он не работает. Так как я могу изменить каталог на HD?

Во-вторых, есть ли у кого-нибудь советы о том, как написать хороший резервный скрипт для копирования определенных каталогов (рекурсивно), если они изменились?

1 ответ1

12

Вы можете посмотреть на смонтированные диски в представлении среды cygwin UNIX базовой ОС Windows, просмотрев /cygdrive . Сделайте df в приглашении оболочки cygwin (обычно bash), чтобы увидеть, где монтируются диски. Вот документация о том, где находятся смонтированные диски . Например, чтобы изменить сетевой диск , установленный в Windows , f:\ вы бы cd к /cygdrive/f как:

$ cd /cydrive/f

Вот пример:

  1. OS X Mavericks (UNIX) имеет диск объемом 3 ТБ, смонтированный как /Volumes/Time Machine
  2. Виртуальная Windows XP (VM) работает на OS X и видит /Volumes/Time Machine как X:\
  3. Cygwin работает на виртуальной машине XP и видит /Volumes/Time Machine как /cygdrive/x или даже x:

$ ls x:

Вот картинка:

Если внешний жесткий диск в данный момент не смонтирован на хосте Windows и уже сопоставлен с точкой монтирования в /cygdrive , то вам может потребоваться смонтировать сетевой ресурс самостоятельно. Посмотрите на реализацию cygwin команды mount UNIX.

Другой способ просмотреть сетевую папку в соответствии с синтаксисом, который вы использовали - мой сервер OS X экспортирует мою папку входа в систему OS X, whmcclos, как общую папку SMB. Я могу установить свой текущий рабочий каталог в эту общую папку из cygwin на моей виртуальной машине Windows XP, работающей под OS X, следующим образом:

$ cd //192.168.0.2/whmcclos

Таким образом, мне даже не нужно монтировать папку в виде буквы диска, чтобы просмотреть ее изнутри cygwin.

Для резервного копирования файлов, которые были изменены, rsync будет рекурсивно создавать резервные копии только файлов в дереве каталогов, которые изменились - он вычисляет минимальный набор резервных копий и выполняет резервное копирование только того, что изменилось, и имеет множество параметров, включая копирование на сетевые диски и возможность использования с шифрованием через ssh . Вот несколько советов по использованию rsync с cygwin. Вот команда для сжатия и архивирования (рекурсии) источника на диске, смонтированном как c:\ и установки цели на диск, смонтированный как f:\ на хосте Windows, лежащем в основе cygwin.

$ rsync -avz /cygdrive/c/path/to/source /cygdrive/f/path/to/target

Если вам нужна дополнительная помощь, пожалуйста, оставьте комментарий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .