Sincronizza automaticamente i file locali su remoto

6

Esistono strumenti OSX in grado di controllare le modifiche ai file in una directory e quindi di sincronizzare (SFTP) quelle modifiche su un server remoto?

Fondamentalmente voglio modificare i file localmente (qualsiasi file, qualunque programma) e caricarli automaticamente sul server.

Rsync non può guardare una directory per le modifiche su di essa, e non riesco a ottenere lyncd per eseguire su osx, a causa di nessuno strumento inotify.

Qualche idea?

    
posta timoxley 12.08.2011 - 06:32
fonte

5 risposte

2

Sono a conoscenza solo dei sistemi proprietari come DropBox.

Ma sembra che questo potrebbe essere fatto abbastanza facilmente, usando kqueue per rilevare le modifiche ai file ed eseguendo rsync pochi secondi dopo.

    
risposta data 12.08.2011 - 06:38
fonte
2

RE: ".. Fondamentalmente voglio modificare i file localmente (qualunque file, qualunque programma) e caricarli automaticamente sul server."

Sei fortunato, DoubleDown farà esattamente ciò che hai specificato:

Download diretto per DoubleDown qui .

pagina di download DoubleDown con ulteriori informazioni qui .

Ulteriori informazioni su DoubleDown:

Doubledown keeps a complete local copy of the remote directory you're syncing so all your local operations are lightning fast. After it performs an initial sync (being careful not to clobber any local changes), Doubledown is notified of changes by Mac OS X's FSEvents framework and responds by creating, uploading, and removing files or directories as required.

Spero che questo aiuti.

    
risposta data 12.08.2011 - 10:35
fonte
1

Se sei felice di scrivere uno script, Folder Actions ti consente di ottenere ciò che ti serve:

link

La pagina seguente sembra offrire esattamente la soluzione che stai cercando:

link

    
risposta data 12.08.2011 - 07:07
fonte
1

Ecco un articolo su come fare proprio questo con uno script di Ruby.

Utilizza FSEvent , la controparte inotify su Mac OS X.

    
risposta data 12.08.2011 - 10:07
fonte
1

Utilizza lo strumento della riga di comando entr per controllare le modifiche ai file in una directory. Ha un'opzione speciale -d per reagire agli eventi quando un nuovo file viene aggiunto a una directory. L'implicazione è che se viene visualizzato un nuovo file, deve uscire per consentire a un ciclo di shell esterno di eseguire nuovamente la scansione del file system, quindi quando viene utilizzato -d , è necessario utilizzarlo con un ciclo. Ad esempio (per verificare le modifiche nella directory path/ ):

$ while true; do
> find path/ | entr -d sh -c 'rsync -vuar path/ example.com:. && echo Updated'
> done

Installazione tramite Brew: brew install entr .

    
risposta data 07.07.2016 - 12:13
fonte

Leggi altre domande sui tag