GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare rsync dal PC Windows al server Linux remoto?

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 . '[email protected]:/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 ../

Questo cambia la directory di un livello superiore rispetto a dove si trova il 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 . [email protected]:/media/my_remote_linux_computer/LaCie/My\\ Documents"

bash :avvia MinGW che ha una libreria rsync integrata
-c :non sono sicuro di cosa faccia
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 sono stati trasferiti alla fine
--timeout=60 :uccidilo dopo 60 secondi se si blocca
--exclude ometti file/directory dalla sincronizzazione, in questo caso escludo una directory chiamata "Download"
. :indica di sincronizzare tutti i contenuti di "Documenti" (aspettarsi che la cosa specificata venga esclusa nella riga sopra)
my_remote_linux_computer :nome del mio computer Linux remoto (non è il vero nome;)
@128.95.155.200 :l'indirizzo IP del mio computer Linux remoto, da https://www.whatismyip.com/ (non il mio vero indirizzo IP :)
/media/my_remote_linux_computer/LaCie/My\\ Documents :il percorso della directory sul mio computer Linux remoto in cui desidero ricevere i file. È un'unità esterna.

Si noti che lo spazio in "Documenti" viene preceduto da due barre rovesciate e che il nome completo e la directory della destinazione remota sono racchiusi tra virgolette doppie.

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


Se desideri un'app gratuita che includa 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 effettivamente modificato
  • Utilità di pianificazione - I profili in DeltaCopy possono essere eseguiti in base a una pianificazione
  • Notifica email - Gli amministratori possono ricevere un'e-mail di conferma dei trasferimenti riusciti e non riusciti
  • Ripristino con un clic - I file di backup possono essere facilmente ripristinati.
  • Ambiente compatibile con Windows - Non è necessario modificare manualmente i file di configurazione o giocare con le opzioni della riga di comando.

Un'opzione potrebbe essere quella di installare rsync installando cygwin su Windows. Probabilmente c'è un approccio molto più diretto per questo.

Un'altra opzione potrebbe essere quella di rsync dal lato linux:potresti impostare un mezzo per consentire alla macchina remota di accedere ai file locali, quindi rsync da lì (dai 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, puoi probabilmente installare un server ssh &rsync molto facilmente con quello e usare rsync con Windows attraverso quello.


Linux
  1. Come utilizzare rsyslog per creare un server di aggregazione dei registri Linux

  2. Come montare la condivisione Windows remota su Linux

  3. Come SSH su Linux da Android

  4. Come usare il comando Rsync in Linux?

  5. Come trasferire file in Linux con SCP e Rsync

Come sincronizzare automaticamente i file tra due server Linux

Come utilizzare SSH per connettersi a un server remoto

Come usare i comandi FTP di Linux

Come SSH nel tuo server Linux da Windows

Come utilizzare Rsync per copiare/sincronizzare file tra server

Come utilizzare SSH per connettersi a un server remoto in Linux o Windows