web-dev-qa-db-ja.com

Portable Appsフォルダーを同期する方法は?

この特定のジレンマに適したリソースが見つからなかったので、スーパーユーザーの優秀な人々に助けを求めることを考えました。

背景:私はポータブルアプリの愛好家であり、可能な限り、私のアプリはポータブルです。 PortableAppsプラットフォームとLiberKeyに基づく環境を、他の「自家製」のポータブルアプリと一緒に、可能な限り実行できるようにするバッチスクリプトとPowerShellスクリプトの完全なセットを作成しました。

注:私のアプリケーションのすべてが「純粋な」ポータブルであるとは限りません。レジストリに直接アクセスできるものもあれば、システムに痕跡を残すものもあります。それらが私のシステムである限り、私はそれで大丈夫です。

私が探しているもの:この「巨大な」ポータブルアプリフォルダーを3つの場所の間で同期するための良い方法を探しています。

  1. 私が作業しているPC(職場、自宅のPC、自宅のラップトップ)
  2. 私のポータブルUSBHDD
  3. クラウドストレージ

主な問題:-同期アプリケーションを使用しようとしましたが、おそらくすべて間違っています。常に重複ファイルが多すぎます。 -私はportable-appsフォルダーから直接アプリケーションを操作しているため、一部のファイルがロックされる場合があります。フォルダーにファイルがロックされている場合、同期でそれを完全にスキップする必要があります(これは難しいことです)-初期同期は約5 GBのアプリケーションとストレージ(主にアプリケーション)である可能性があるため、LAN同期が重要です。

仮定:-仮定なし:)-あなたは私が間違った方向から全体に近づいていると仮定するかもしれません、私は学びたいと思っています。 -タスクを実行するために、スクリプト(バッチ、PowerShell、Python)またはプログラム(C#、Java)を使用します。 (それが理にかなっているなら、私はこれについて戦略を立てることさえするかもしれません)

今日Webで利用できるツールからこのような同期システムを構築する方法を知っている人はいますか?

4
Lockszmith

コンピューターと一部の仮想マシンにインストールされているSugarSyncを使用してまったく同じことを行います。同期されたフォルダーには、多くのポータブルアプリ、シェル、スクリプトが含まれており、現在サイズが5 GiBを超えています。

更新されたファイルと新しいファイルをUSBフラッシュドライブにコピーするrobocopyバッチスクリプトを使用します。これは、他のコンピューターを使用しているときに使用し、別のスクリプトを使用して、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

ある段階で、Pythonを使用してSugarSync APIを直接使用することを計画しています。これにより、USBフラッシュドライブから直接更新できるようになります。

ファイルは使用中(したがってロックされている)に同期されないため、マシンがシャットダウンではなく休止状態になり、後で元のマシンの電源を入れる前に別のマシンの同じファイルを使用すると、ファイルが重複することがあります。

これを数年間行った後、これは実際には何の問題も引き起こしていません。これらの重複ファイルのいずれかを見つけることができる別のバッチスクリプトがあり、その後、何をするかを決定できます。 SugarSyncは、ファイルの以前の5つのバージョンを無料のアカウントレベルで保持します。これは、私にとって2、3回役に立ちました。

私は実際に数週間重複をチェックしていません、そしてすべてがうまく働いています。同期されたフォルダ/ USBフラッシュドライブは、Windows OSのインストールよりも重要です。これは、Windowsコンピュータを数秒以内に要件に適合させるために使用されるためです。

eXpressoPortable File Associatorについて知らない場合は、非常に便利です。私はPFAが好きです。

1
paradroid

基本的に、Dropboxのポータブルバージョンは法案に適合しますか?

Dropboxの非公式ポータブルバージョン。 http://forums.dropbox.com/topic.php?id=33387

0
surfasb

問題が発生した場合に100%解決するかどうかはわかりませんが、JungleDiskには非常に優れたフォルダ同期機能があります。

0
Moshe