6

Я читал много информации об этом, и все же я все еще не уверен, возможно ли это.

Чего я хочу добиться: синхронизировать папку, находящуюся за пределами Dropbox, и любые изменения, внесенные в эту папку, или файлы внутри будут отражены в папке Dropbox и на сервере Dropbox.

Вот что я пробовал: я установил Link Shell Extension. Выбрал папку с 10 картинками внутри и создал для нее соединение внутри папки Dropbox. Когда я удаляю изображения из исходной папки (вне Dropbox), это изменение отражается в папке Junction внутри папки Dropbox, а не на сервере.

Точно такое же поведение с опцией символической ссылки.

Если я вручную выберу «Приостановить синхронизацию» на значке в системном трее Dropbox, а затем «Возобновить синхронизацию» = это загрузит изменения на сервер.

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

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

Спасибо.

3 ответа3

7

По данным DropBox (https://www.dropbox.com/help/145/ru)

Соединительные точки и псевдонимы

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

2

Символические ссылки и соединения на самом деле не работают для этого. Но вы можете использовать что-то еще, чтобы достичь того, что вы хотите.

Мое приложение Boxifier (http://www.boxifier.com) может синхронизировать папки вне папки Dropbox, не перемещая и не копируя их в локальную папку Dropbox. Вам не нужно создавать какие-либо символические ссылки или соединения.

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

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

0

Для более продвинутого, но лучшего решения вы можете объединить установку cygwin с поддержкой rsync со скриптом init batch, вызывающим скрипт оболочки cygwin, который при любой ситуации запускает синхронизацию синхронизированной с доверенным сторонним облачным хранилищем папки с содержимым, лежащим в просматриваемая папка.

(1.) Установите Cygwin по этой ссылке. Остерегайтесь выбрать rsync в списке пакетов для выбора. Если вы пропустите его, вы можете безопасно перезапустить этот установщик, когда захотите. Всякий раз, когда вам нужен еще один пакет в будущем.

(2) После того, как вы перейдете в cygwin, чтобы получить общее представление об окружающей среде, отредактируйте sync.sh, когда захотите (вы можете позже переместить его в лучшее место).

содержание sync.sh:

#!/usr/bin/env bash
#   The synchronized folders.
WATCHED_FOLDER=/cygdrive/DRIVE_LETTER/PATH/TO/WATCHED/FOLDER
SYNCED_FOLDER=/cygdrive/DRIVE_LETTER/PATH/TO/SYNCED/FOLDER
#   Will run forever!
until false
do
  #   Do a single remote synchronization
  rsync -avn --delete WATCHED_FOLDER SYNCED_FOLDER
  #   Wait five minutes before resyncing.
  sleep 300
done

(3) Проведите некоторое тестирование с помощью ручных вызовов sync.sh из cygwin. Смотрите результаты. Измените некоторые папки и файлы и перезапустите. Смотри еще раз. Повторение.

(4.). Если вы удовлетворены результатами, поверните -avn на -av чтобы отключить пробный запуск на свой страх и риск. С этого момента изменения будут выполняться эффективно без поддержки Microsoft thrashbin.

(5) Зайдите в Пуск-> Программы-> Пуск -> [щелчок правой кнопкой мыши] -> Открыть-> Новый-> Файл.

(6) Назовите файл sync.bat или что-то еще.

(7) Отредактируйте sync.bat и Cygwin's ~/.bashrc:

содержание sync.bat:

rem   call the synchronization neverending script.
DRIVE_LETTER:\PATH\TO\CYGWIN\Cygwin.bat

Содержимое ~/.bashrc (это трудная вещь, потому что вам нужно отредактировать его с помощью vi из Cygwin, но вы, скорее всего, можете обойти это, отредактировав из файла Microsoft DRIVE_LETTER:\PATH\TO\CYGWIN\home\YOUR_USER_NAME.bashrc:

[...]
/cygdrive/DRIVE_LETTER/PATH/TO/sync.sh
[...]

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

(8) перезагружать

(9) Проверьте с помощью taskmgr.exe или диспетчера задач Microsoft, что запущен bash.exe . Если вы еще не запустили Cygwin, это должен быть процесс, выполняющий синхронизацию.

(10) В качестве необязательных будущих шагов вы можете захотеть демонизировать процесс любым способом. Здесь может быть много возможностей.

Это может быть трудным шагом, но есть большая поддержка сообщества в Интернете для всех этапов.

Может существовать много других способов сделать. Например, вы можете автоматически запустить виртуальную машину GNU/Linux, которая сделает все это без Cygwin. Для этого вам понадобится предоставить доступ к просматриваемым и синхронизированным папкам по локальной сети, лучше использовать частную сеть только между вашим хостом и виртуальной машиной, а затем монтировать папки из GNU/Linux с помощью пакетов cifs-utils, samba и smbclient. Многие из показанных этапов будут применять то же самое к этой другой методологии предоставления возможностей оболочки UNIX вашему хосту Microsoft.

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