Как синхронизировать папку Portable Apps?

1169
Lockszmith

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

Справочная информация: я энтузиаст портативных приложений, и, когда это возможно, мои приложения являются портативными. Я написал полный набор пакетных сценариев и сценариев PowerShell, которые позволяют мне запускать свою среду, основанную на платформе PortableApps и LiberKey, наряду с некоторыми другими «домашними» портативными приложениями, где только я могу.

ПРИМЕЧАНИЕ. Не все мои приложения являются «чисто» переносимыми, некоторые могут иметь право на реестр, некоторые могут оставить следы в системе. Это нормально для меня, пока они мои системы.

То, что я ищу: я ищу хороший способ синхронизировать эту «бегемот» папку портативных приложений между 3 местоположениями:

  1. Любой компьютер, на котором я работаю (работа, домашний компьютер, домашний ноутбук)
  2. Мой портативный USB HDD
  3. Облачное хранилище

Основные проблемы: - Я пытался использовать приложения синхронизации, но, вероятно, я все делаю неправильно, я всегда получаю слишком много дубликатов файлов. - Поскольку я работаю с приложением непосредственно из папки portable-apps, некоторые файлы могут быть заблокированы иногда. когда в папке есть заблокированные файлы, я хочу, чтобы синхронизация пропустила ее полностью (я знаю: это сложная задача) - Первоначальная синхронизация может занимать около 5 ГБ приложений и хранилища (в основном приложений) - поэтому синхронизация по локальной сети важна.

Предположения: - нет предположения :) - вы можете предположить, что я подхожу ко всему с неправильного направления, я готов учиться. - Я готов написать скрипт (batch, powershell, python) или программу (C #, Java), чтобы выполнить задачу. (Я мог бы даже начать обдумывать это, если это имеет смысл)

У кого-нибудь есть идеи, как создать такую ​​систему синхронизации из инструментов, доступных сегодня в Интернете?

4

3 ответа на вопрос

1
paradroid

Я делаю то же самое, используя SugarSyncмои компьютеры и некоторые виртуальные машины. Моя синхронизируемая папка содержит множество переносимых приложений, оболочек и сценариев и в настоящее время ее 5 GiBразмер больше.

Я использую robocopyпакетный скрипт, который копирует обновленные и новые файлы на флэш-накопитель USB, который я использую, когда использую другие компьютеры, и использую другой скрипт для обновления SugarSyncсинхронизированных папок с флэш-накопителя USB.

например.

@echo on  :: UpdateFlashDrive.cmd v1.2 - Jan, Mar 2009 :: Updates flash drive with latest changes to %COMMAND%  echo. time /t 1>%TEMP%\time.txt for /f "delims= " %%G in (%TEMP%\time.txt) do echo The start time is %%G  if [%1]==[] echo You must include the destination drive letter! & goto :EOF  if NOT EXIST %1\COMMAND echo It looks like the wrong destination drive has been given! & goto :EOF  robocopy %COMMAND%\ "%1\COMMAND" /E /ZB /EFSRAW /DCOPY:T /PURGE /XO /XJ /XF ssrobomove.log Exchange.ini *.csv Smart.ini /R:3 /NDL call :REPORT_ERRORLEVEL time /t 1>%TEMP%\time.txt for /f "delims= " %%H in (%TEMP%\time.txt) do echo The end time is %%H echo. echo %G - %H del %TEMP%\time.txt goto :EOF   :REPORT_ERRORLEVEL echo. if ERRORLEVEL 16 echo ***FATAL ERROR*** & goto :EOF if ERRORLEVEL 8 echo **FAILED COPIES** & goto :EOF if ERRORLEVEL 4 echo *MISMATCHES* & goto :EOF if ERRORLEVEL 2 echo EXTRA FILES & goto :EOF if ERRORLEVEL 1 echo Copy successful & goto :EOF if ERRORLEVEL 0 echo ^-no change^- & goto :EOF   :EOF 

В какой-то момент я планирую использовать SugarSync APIнапрямую с помощью Python, что должно позволить мне обновляться прямо с USB-накопителя.

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

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

Я не проверял дубликаты в течение нескольких недель, и все работало нормально. Моя синхронизируемая папка / USB-накопитель важнее для меня, чем любая установка ОС Windows, поскольку она используется для того, чтобы любой компьютер с ОС Windows соответствовал моим требованиям в течение нескольких секунд.

Если вы не знаете о, eXpressoи Portable File Associatorони очень полезны. Я предпочитаю PFA.

Загляните в мой профиль для реферала SugarSync. paradroid 12 лет назад 0
Наконец-то близкий дух, я тоже дорожу этой папкой переносимых приложений больше, чем моей обычной установкой ОС, которая теперь стала одноразовой, поскольку все, что действительно важно, находится в моем переносном комплекте. Lockszmith 12 лет назад 0
Есть ли шанс взглянуть на ваш скрипт поиска дубликатов, и как именно вы используете robocopy? Lockszmith 12 лет назад 0
@Lockszmith: я добавил пример, который должен помочь вам начать. Вам, очевидно, потребуется изменить его, чтобы он соответствовал, например, исключения файлов и переменная имени каталога и т. Д. paradroid 12 лет назад 0
Спасибо! извините, что так долго отвечал. Я отмечу это как ответ на данный момент, проверю это полностью позже на этой неделе, хотя выглядит хорошо. Lockszmith 12 лет назад 0
0
surfasb

В принципе, портативная версия Dropbox будет отвечать всем требованиям?

Неофициальная портативная версия Dropbox. http://forums.dropbox.com/topic.php?id=33387

Я пробовал это в прошлом, но не добился большого успеха. paradroid 12 лет назад 0
выглядит интересно, только что скачал его и сравнил с рекомендациями SugarSync @ paradroid. Lockszmith 12 лет назад 0
0
Moshe

Не уверен, что это решит проблему на 100%, но JungleDisk имеет очень хорошую функцию синхронизации папок.

Спасибо @Moshe, я пробовал это некоторое время, хотя не мог сделать это, чтобы соответствовать моим потребностям все же. Дело в том, что синхронизация должна быть немного «умнее», чем обычная синхронизация, поскольку мы имеем дело с «живыми» папками приложений. Lockszmith 12 лет назад 0

Похожие вопросы