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
--exclude
omette 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.
-c
parametro 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.