Como sincronizar uma pasta de aplicativos portáteis?

4

Não foi possível encontrar um bom recurso para esse dilema específico, por isso pensei em pedir ajuda às pessoas boas do superusuário.

Antecedentes: Sou um entusiasta portátil de aplicativos e, sempre que possível, meus aplicativos são portáteis. Escrevi um conjunto completo de scripts em lote e powershell que me permitem executar o meu ambiente, que é baseado na plataforma PortableApps e no LiberKey, junto com outros aplicativos portáteis "caseiros" em qualquer lugar que eu puder.

NOTA: Nem todos os meus aplicativos são "puros" portáteis, alguns podem estar no registro, outros podem deixar rastros no sistema. Tudo bem por mim, desde que sejam meus sistemas.

O que estou procurando: Eu estou procurando uma boa maneira de sincronizar este "gigante" de pasta de aplicativos portáteis entre 3 locais:

  1. Qualquer PC em que eu trabalhe (Work, Home PC, Home Laptop)
  2. Meu disco rígido portátil USB
  3. Armazenamento em nuvem

Principais problemas: - Eu tentei usar aplicativos de sincronização, mas provavelmente estou fazendo tudo errado, eu sempre recebo muitos arquivos duplicados. - Como estou trabalhando com o aplicativo diretamente da pasta de aplicativos portáteis, alguns arquivos podem estar bloqueados em alguns momentos. quando uma pasta bloqueia arquivos, eu quero que a sincronização pule completamente (eu sei: essa é a mais difícil) - A sincronização inicial pode ter cerca de 5 GB de aplicativos e armazenamento (principalmente aplicativos) - portanto, a sincronização de LAN é importante.

Suposições: - sem suposição :) - você pode assumir que estou me aproximando da coisa toda de uma direção errada, estou disposto a aprender. - Estou disposto a script (lote, powershell, python) ou programa (C #, Java) para realizar a tarefa. (Eu poderia até começar um stratup sobre isso, se faz algum sentido)

Alguém tem uma idéia de como inventar esse sistema de sincronização a partir das ferramentas disponíveis hoje na Web?

    
por Lockszmith 09.10.2011 / 09:29

3 respostas

1

Eu faço exatamente a mesma coisa usando SugarSync , que está instalado nos meus computadores e em algumas máquinas virtuais. Minha pasta sincronizada contém muitos aplicativos portáteis, shell e scripts e atualmente tem mais de 5 GiB em tamanho.

Eu uso um script em lote robocopy que copia arquivos novos e atualizados em uma unidade flash USB, que uso quando estou usando outros computadores, e uso outro script para atualizar as pastas SugarSync sincronizadas da unidade flash USB .

por exemplo,

@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

Em algum momento, planejo usar o SugarSync API diretamente usando o Python, o que deve permitir que eu atualize diretamente da unidade flash USB.

Os arquivos não são sincronizados quando estão em uso (e, portanto, bloqueados), e isso ocasionalmente resulta em arquivos duplicados, se uma máquina for hibernada em vez de desligada e posteriormente usar o mesmo arquivo de outra máquina antes que a máquina original seja ativada novamente.

Isso não causou nenhum problema para mim, depois de fazer isso por vários anos. Eu tenho outro script em lotes que pode encontrar qualquer um desses arquivos duplicados, após o qual eu posso decidir o que fazer. SugarSync também mantém as 5 versões anteriores de qualquer arquivo, no nível da conta gratuita, o que foi útil para mim algumas vezes.

Eu não chequei por duplicatas por várias semanas, e tudo está funcionando bem. Minha pasta sincronizada / unidade flash USB é mais importante para mim do que qualquer instalação do sistema operacional Windows, pois é usada para fazer com que qualquer computador com Windows seja adequado a meus requisitos em poucos segundos.

Se você não sabe sobre eXpresso e Portable File Associator , eles são muito úteis. Eu prefiro PFA .

    
por 09.10.2011 / 15:23
0

Basicamente, uma versão portátil do dropbox se encaixaria na conta?

Versão portátil não oficial do Dropbox. link

    
por 09.10.2011 / 10:56
0

Não tenho certeza se isso vai resolver 100%, mas o JungleDisk tem um ótimo recurso de sincronização de pastas.

    
por 09.10.2011 / 13:38