4

Couldn't find a good resource for this particular dilemma, so I thought asking the good people at super user for help.

Background: I am a portable apps enthusiast, and whenever possible, my apps are portable. I have written a complete set of batch and powershell scripts that allow me to run my environment which is based on the PortableApps platform and LiberKey along some other "home-brewed" portable apps anywhere I can.

NOTE: Not all of my applications are "pure" portable, some might right to the registry, some might leave traces on the system. It's OK by me, as long as they are my systems.

What I'm looking for: I'm looking for a good way to sync this "behemoth" of portable apps folder between 3 locations:

  1. Any PC I work on (Work, Home PC, Home Laptop)
  2. My portable USB HDD
  3. Cloud storage

Main problems: - I tried using sync applications, but I'm probably doing it all wrong, I always get too many duplicate files. - Because I'm working with application directly from the portable-apps folder, some files might be locked at some times. when a folder has locked files, I want the sync to skip it altogether (I know: this is the hard one) - Initial sync can be around 5 GB of applications and storage (mainly applications) - so LAN Syncing is important.

Assumptions: - no assumption :) - you may assume I am approaching the whole thing from a wrong direction, I am willing to learn. - I am willing to script (batch, powershell, python) or program (C#, Java) to get the task done. (I might even start a stratup on this if it makes any sense)

Anyone have an ideas how to concoct such a sync system from the tools available today on the Web?

3 Answers 3

1

I do exactly the same thing using SugarSync, which is installed on my computers and some virtual machines. My synced folder contains many portable apps, shell and scripts and is currently over 5 GiB in size.

I use a robocopy batch script which copies updated and new files onto a USB flash drive, which I use when I am using other computers, and use another script to update the SugarSync synced folders from the USB flash drive.

eg.

@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

I do at some stage plan to use the SugarSync API directly using Python, which should allow me to update directly from the USB flash drive.

Files are not synced when they are in use (and therefore locked), and this occasional results in duplicate files, if a machine is hibernated instead of shutdown and I later use the same file from another machine before the original machine is turned on again.

This has not actually caused any problems for me, after doing this for several years. I have another batch script which can find any of these duplicate files, after which I can decide what to do. SugarSync also keeps the previous 5 versions of any file, on the free account level, which has been useful for me a couple of times.

I've not actually checked for duplicates for several weeks, and everything has been working fine. My synced folder/USB flash drive is more important to me than any Windows OS installation, as it is used to make any Windows computer fit my requirements within a few seconds.

If you do not know about eXpresso and Portable File Associator, they are very useful. I prefer PFA.

5
  • Have a look at my profile for a SugarSync referral.
    – paradroid
    Oct 9, 2011 at 13:24
  • At last a kindred spirit, I too cherish this portable apps folder more then my regular OS installation which have now become disposable, since everything that really matters is in my portable suite.
    – Lockszmith
    Oct 10, 2011 at 6:08
  • Any chance to take a look at your duplicate finding script, and how exactly you are using robocopy?
    – Lockszmith
    Oct 10, 2011 at 6:12
  • @Lockszmith: I've added an example, which should help you start off. You obviously would need to change it to fit, like the file exclusions and directory name variable, etc.
    – paradroid
    Oct 10, 2011 at 6:27
  • Thanks! sorry for taking so long to reply. I'll mark this as the answer for now, will check it thoroughly later on this week, looks good though.
    – Lockszmith
    Apr 8, 2012 at 6:34
0

Basically, a portable version of dropbox would fit the bill?

Unofficial portable version of Dropbox. http://forums.dropbox.com/topic.php?id=33387

2
  • I've tried that in the past but did not have very much success with it.
    – paradroid
    Oct 9, 2011 at 13:30
  • looks interesting, just downloaded it and will size it up against @paradroid's SugarSync recommendation.
    – Lockszmith
    Oct 10, 2011 at 6:18
0

Not sure it'll solve 100% if the problem, but JungleDisk has a very good folder sync feature.

1
  • Thanks @Moshe, I tried that for a while, couldn't make it fit my needs though. The thing is that the syncing needs to be a bit "smarter" then a regular sync, since we're dealing with 'live' application folders.
    – Lockszmith
    Apr 8, 2012 at 6:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .