Come usare rsync dal PC Windows al server Linux remoto?


23

Come posso usare il rsynccomando da un computer Windows 7 locale a un server Linux remoto?

Quale software è necessario sul computer Windows 7 da utilizzare rsync?

Il server Linux remoto utilizza l'AMI Linux di Amazon. Il comando rsyncè già abilitato sulla macchina e posso modificare qualsiasi accesso necessario alla macchina.

Questo ha lo scopo di configurare un server web sul computer remoto e la modifica sul mio computer locale e mantenere i file sincronizzati.

Non voglio un accesso bidirezionale tra i computer, sto solo modificando i file sul mio computer locale e li manterrà aggiornati sul computer remoto.

AGGIORNARE:

Ho installato cygwin sul mio computer con Windows 7 e ho installato il pacchetto rsync . Qualcuno può fornire i passaggi per impostare la connessione dal computer Windows 7 al server Linux in remoto?

Supponiamo che io voglia avere una cartella chiamata C:\wwwsul mio computer Windows e mantenerlo aggiornato \var\wwwsul mio computer remoto, come posso farlo? Non è di per sé un backup, aggiorna i file che modifico con il mio computer locale.

Risposte:


9

Ho MinGW (noto anche come 'Git Bash' ) su Windows 7 e un file batch che esegue rsync per eseguire il backup dei file su un'unità esterna su un computer Linux remoto. Ecco il file batch ( my_rsync_file.bat)

REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
cd ../
REM starting rsync...
bash -c "rsync -avzh -P --stats --timeout=60  --exclude Downloads . 'my_remote_linux_computer@128.95.170.200:/media/my_remote_linux_computer/LaCie/My\ Documents'"

Ecco un po 'di spiegazione riga per riga:

REM Changing directory... (assuming we are in G:/My Documents/My Various Things)

Questo emette solo un messaggio per ricordarmi cosa sta succedendo.

cd ../

Ciò modifica la directory di un livello in alto rispetto alla posizione del file batch (in "Documenti"). Il file batch si trova in un'unità esterna sul mio computer Windows. Voglio sincronizzare tutta la cartella "Documenti" su questa unità esterna con una cartella con lo stesso nome su un'unità esterna sul mio computer Linux remoto.

REM starting rsync...

Stampa solo un altro messaggio.

bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . my_remote_linux_computer@128.95.155.200:/media/my_remote_linux_computer/LaCie/My\\ Documents"

bash: avvia MinGW che ha una libreria rsync integrata
-c: non sono sicuro di ciò che fa
rsync: libreria per sincronizzare i file, viene fornito con MinGW
-avzh: a-Archive, v-Verbose, z-Compress, h-Human-readable, queste sono le opzioni comuni (altro: http://linux.die.net/man/1/rsync )
-P: mostra i progressi per i file di grandi dimensioni, quindi so se è bloccato o meno
--stats: mostra il riepilogo di quanti file e byte trasferiti alla fine
--timeout=60: uccidilo dopo 60 secondi se si blocca
--excludeomette i file / le directory dalla sincronizzazione, in questo caso escludo una directory chiamata 'Download'
.: indica di sincronizzare tutto il contenuto di 'I miei documenti' (aspettarsi che la cosa specificata venga esclusa nella riga sopra)
my_remote_linux_computer: nome del mio computer linux remoto (non è il nome reale;)
@128.95.155.200: l'indirizzo IP del mio computer linux remoto, da https://www.whatismyip.com/ (non il mio indirizzo IP effettivo :)
/media/my_remote_linux_computer/LaCie/My\\ Documents: il percorso della directory sul mio computer linux remoto che desidero ricevere i file. È un'unità esterna.

Si noti che lo spazio in "I miei documenti" è salvato con due barre rovesciate e il nome completo e la directory della destinazione remota sono racchiusi tra virgolette doppie.

Quando inizio, fai doppio clic sul file bat e mi viene richiesta la password per il mio computer Linux remoto. Quando termina ottengo un output di riepilogo e mi viene chiesto di premere un tasto qualsiasi per chiudere.


Descrizione del -cparametro da bash man: Se è presente l'opzione -c, i comandi vengono letti dalla stringa. Se ci sono argomenti dopo la stringa, vengono assegnati ai parametri posizionali, a partire da $ 0.
Lukasz Stelmach,

6

Se vuoi un'app gratuita che comprenda cygwin e rsync con una bella interfaccia grafica, dai un'occhiata a Deltacopy :

http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

  • Backup incrementale : copia parte del file che viene effettivamente modificato
  • Utilità di pianificazione : i profili in DeltaCopy possono essere eseguiti in base a una pianificazione
  • Notifica e-mail : gli amministratori possono ricevere la conferma e-mail in caso di trasferimenti riusciti o non riusciti
  • Ripristino con un clic : è possibile ripristinare facilmente i file di backup.
  • Ambiente compatibile con Windows : non è necessario modificare manualmente i file di configurazione o giocare con le opzioni della riga di comando.

6

Un'opzione potrebbe essere quella di installare rsync installando cygwin su Windows. C'è probabilmente un approccio molto più diretto per quello.

Un'altra opzione potrebbe essere quella di risincronizzare dal lato Linux: è possibile impostare un mezzo affinché la macchina remota possa accedere ai file locali e quindi rsync da lì (dare un'occhiata al montaggio delle condivisioni smb / cifs).

Sospetto che ci siano ancora opzioni migliori, ma forse questo aiuterà un po '.


Aggiornamento per il 2017

Con il sottosistema Linux disponibile in Windows 10, probabilmente puoi installare un server ssh & rsync molto facilmente con quello e usare rsync con Windows attraverso quello.


5

MinGW ha un rsync integrato che sembra funzionare abbastanza bene. Ha anche una modalità demone - anche se non l'ho provato. Consiglio MinGW su cygwin per diversi motivi: MinGW è un'installazione più piccola ed è nativa di Windows.


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.