Pull to refresh

Синхронизируемся: рецепты для работы на нескольких компьютерах

Reading time5 min
Views15K
Недавно столкнулся со следующей задачей: дома три компьютера и работать случается на каждом из них. При этом захотелось раз и навсегда забыть о необходимости ручной синхронизации файлов между компьютерами. Компьютер на работе также захотелось включить в процесс синхронизации. А заодно решить, как сделать синхронизацию коммуникатора независимой от конкретного компьютера.
Полученное решение описано в виде рецептов.

Синхронизируем закладки


Начну с самого простого. Для синхронизации закладок в Firefox я использую плагин Xmarks (бывший Foxmarks). Пользуюсь им давно и всем доволен. Ставится отсюда.

Синхронизируем коммуникатор


Немного подумав, я понял, что у меня есть потребность только в синхронизации календаря. Остальную информацию достаточно только бэкапить. Поэтому решение получилось очень простым — я начал использовать Google Calendar, на каждый компьютер установил Google Calendar Sync, а на коммуникатор поставил OggSync.
Google Calendar Sync скачивается отсюда.
OggSync скачивается отсюда.
Бонус На домашних компьютерах я установил Google Calendar Sync не только под своим аккаунтом, но и под аккаунтом жены, и также настроил его на свой календарь. Теперь жена может смотреть мой календарь у себя в аутлуке и добавлять напоминалки для меня. Сразу стало проще синхронизировать наши планы.

Синхронизируем информацию между компьютерами


А теперь о самом интересном. Итак, мне было необходимо, чтобы на всех моих компьютерах был единый набор рабочих файлов, а синхронизация происходила надежно и с минимальным моим участием. Также требуется, чтобы файлы с рабочего компьютера попадали на домашние компьютеры, но не наоборот — информация личного характера должна оставаться дома.
Вариант с синхронизацией по сети я быстро отбросил — пропускная способность маловата, да и вообще не хочется зависеть от того, подключен ли ноутбук к домашней локалке. Таким образом, остался единственный вариант — использовать внешний накопитель.

Выбираем накопитель

Накопитель должен отвечать следующим требованиям: полностью использовать пропускную способность интерфейса USB 2.0; иметь приличный объем «с запасом»; быть компактным и ударопрочным; быть недорогим.
В результате я выбрал Transcend StoreJet 25 mobile 250gb.

Шифруемся

Для шифрования данных на накопителе я применил утилиту TrueCrypt. Настраивается все аналогично с рекомендациями из недавно пробегавшей статьи.
Есть нюанс в том, что сейчас мы собираемся зашифровать не флешку, а жесткий диск гораздо большего объема. Сделать это с помощью TrueCrypt можно следующими способами:
  • как и в случае с флешкой, создать один большой зашифрованный файл. Чтобы это сделать, придется сначала переформатировать накопитель в NTFS;
  • создать зашифрованный раздел. Минус в том, что негде будет хранить сам TrueCrypt, придется установить его на каждый синхронизируемый компьютер;
  • разбить накопитель на два раздела, на обычный раздел установить TrueCrypt, второй раздел сделать зашифрованным.

В результате я выбрал первый вариант, хотя третий тоже выглядит интересным.
На данном этапе надо запастись терпением — форматирование файла данных TrueCrypt займет более двух часов.

Выбираем программу для синхронизации

Как это обычно и бывает, доставшаяся мне вместе с накопителем программа синхронизации была деинсталлирована вскоре после первого запуска. Неумение обрабатывать факт удаления файла — не единственный ее недостаток.
При выборе программы синхронизации я остановился на GoodSync. Понравилась мне эта программа тем, что:
  • корректно поддерживает многонаправленную синхронизацию;
  • корректно обрабатывает удаление файлов;
  • позволяет иметь несколько конфигов;
  • умеет работать из командной строки;
  • может работать без инсталляции;
  • не была замечена в глюках.

GoodSync скачивается отсюда.
Бонус Недавно я накосячил при установке плагинов под Eclipse. Запущенный в режиме восстановления из бэкапа GoodSync вернул папку с эклипсом в работоспособное состояние.

Настраиваем структуру файлов

Тут, конечно, возможно разнообразие вариантов. Я сделал следующим образом.
На каждом домашнем компьютере у меня появилась папка «d:\roaming_home», содержащая в себе папки «apps», «books», «home», «work» и другие. На рабочем компьютере, соответственно, появилась папка «d:\roaming_work».
GoodSync был настроен таким образом, чтобы синхронизировать с накопителем папки «roaming_home» и «roaming_work» при запуске дома и синхронизировать «roaming_work» при запуске на работе.

Ставим софт

Все нужные программы, в первую очередь способные работать без инсталляции и позволяющие задавать расположение настроек, были переустановлены в папку «roaming_home\apps» (например, firefox и, в отдельной папке, профиль для него). Дистрибутивы некоторых программ, не способных работать без инсталляции, были помещены на накопитель, а сами программы — переустановлены на каждом компьютере.
GoodSync запускается с накопителя и не установлен ни на одном из компьютеров. Также дело обстоит и с TrueCrypt, только в отличие от GoodSync он находится на незашифрованной части накопителя.

Особый случай

Один из моих домашних компьютеров — планшетный нетбук, на котором я не собираюсь заниматься программированием. Кроме этого, на нем нет диска «d:». Для него я создал отдельный конфиг GoodSync, который ссылается на «c:\roaming_home», и добавил в исключения папку «roaming_home\apps\dev». Чтобы нормально работали остальные программы из «apps», диск «d:» «создается» добавленным в автозапуск батником вида:
subst d: c:\

Последние штрихи

Остается написать несколько батников. Во-первых это autostart.bat и unmount.bat, которые будут монтировать и размонтировать диск TrueCrypt. Кроме монтирования диска TrueCrypt, я добавил в autostart.bat открытие окна проводника на корневом каталоге накопителя — лежащие в этом каталоге батники будут играть роль меню.
Заходим в Computer Management->Disk Management и присваиваем накопителю букву диска «v:». В параметрах запуска TrueCrypt присваиваем зашифрованному диску букву «w:».
Исправляем autorun.inf, который сгенерировал TrueCrypt. Поскольку на многих компьютерах Autorun выключен, пишем еще два батника mount.bat и dismount.bat вида:
v:
cd v:\
call v:\autorun.bat

Эти батники кладем на рабочий стол и куда-нибудь в незашифрованную часть накопителя, чтобы были под рукой.
Пишем батники для запуска GoodSync. У меня их четыре штуки: «синхронизация дома», «синхронизация дома с нетбуком», «синхронизация на работе», «запуск GoodSync без автоматического старта синхронизации». Эти батники имеют следующий вид:
w:
cd W:\roaming-home\apps\tools\GoodSync
call goodsync.bat /miniwin sync TranscendSync-Work

Настройки для GoodSync лежат в его же каталоге, а батник для его запуска выглядит примерно так:
start GoodSync.exe /profile=data /lf=logs /check-new-ver=no /cleanup-logs=yes %*
Бонус Благодаря установке большей части необходимых программ на накопитель, я теперь могу работать вообще на любом подходящем компьютере, не тратя время на перенос данных и настройку среды. Достаточно подключить диск и запустить синхронизацию.

Подводим итог


Итак, сценарий работы выглядит следующим образом.
  1. Подключил накопитель к компьютеру.
  2. Вызвал mount.bat с рабочего стола (или дождался срабатывания Autorun).
  3. Ввел пароль TrueCrypt.
  4. Вызвал нужный батник для синхронизации (синхронизация занимает несколько минут).
  5. Проверил результаты работы GoodSync.
  6. Поработал. Закрыл все синхронизируемые программы.
  7. Вызвал нужный батник для синхронизации.
  8. Вызвал unmount.bat.
  9. Закрыл окно проводника с диском v:\.
  10. Безопасно отключил диск и отсоединил его от компьютера.

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

В качестве альтернативы можно попробовать работать прямо с переносного накопителя, тогда можно будет не ждать, пока пройдет синхронизация. Или опробовать «срединный» вариант, при котором синхронизируются только те данные, для которых важна скорость обращения. С другой стороны, я часто работаю, не подключая накопитель к компьютеру. GoodSync правильно выполняет многонаправленную синхронизацию, а его интерфейс позволяет достаточно удобно обрабатывать конфликтующие изменения.
Tags:
Hubs:
Total votes 12: ↑10 and ↓2+8
Comments15

Articles