Unix: sincronizza la directory con la directory SFTP


1

Ho un sito Web sul mio computer locale che esegue Mac OS X. Mi chiedo se ci sia un comando integrato che posso eseguire nel Terminale che caricherà quel sito Web sul mio server web tramite SFTP. L'installazione di nuovi comandi tramite MacPorts è una possibilità. Un grande vantaggio sarebbe che ha caricato solo i file che devono essere aggiornati e non tutto il resto.

Sarebbe anche bello se posso dirgli di eliminare i file sul server che non esiste più localmente una volta ogni tanto.

Qualche buon consiglio?

Aggiornamento : questa domanda è stata posta su SFTP e FTP, ma ho ricevuto solo una risposta riguardo a SFTP. rsyncsembra farlo molto bene quando il server supporta ssh, ma se ho capito bene, rsyncnon supporta FTP. Sto ancora cercando una buona soluzione per FTP, quindi ho aperto una domanda diversa per questo.

Risposte:


1

Usa rsync . Lo scopo è sincronizzare i file remoti / locali.

rsync -avz --delete source-address destination-address

Si prega di leggere la documentazione per capire quali sono le opzioni disponibili e come usarla. (come la differenza tra "dir" e "dir /")

Certo, puoi anche usare scp -r, ma rsync è la soluzione migliore.


farebbe una sincronizzazione a una o due vie?
Svish,

Rsync esegue la sincronizzazione in un modo dall'origine alla destinazione.
fideli

Questa è la sincronizzazione unidirezionale (e dalla tua domanda, sembra che tu abbia bisogno della sincronizzazione unidirezionale). Per il doppio senso uso personalmente Unison ( cis.upenn.edu/~bcpierce/unison ). Ma la sincronizzazione bidirezionale ha altri tipi di problemi (un file è stato modificato su entrambi gli host, cosa fare?) E quindi è un po 'più difficile.
Denilson Sá Maia,

sì, è unidirezionale che voglio. Supporta ftp in qualche modo?
Svish,

1
Rsync è un protocollo diverso da FTP. Il grande punto di forza di rsync qui è che determina abbastanza vicino all'insieme minimo di modifiche da inviare per ogni aggiornamento confrontando la destinazione con l'origine. FTP non può farlo. Il modo più semplice per configurare FTP richiederebbe l'invio dell'intero sito per ogni aggiornamento. In alternativa, è possibile tenere traccia delle modifiche recenti alla fonte, ma ti garantisco che, ad un certo punto, non sarai sincronizzato con ciò che dovrebbe essere inviato e ciò che effettivamente deve essere inviato. Se il tuo sito è piccolo, inviare il tutto è a posto.
mpez0,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.