rsync
do robienia backupów albo do synchronizowania zawartości folderów na wielu serwerach. Ostatnio postanowiłem, że kupię sobie dysk przenośny o dużej pojemności i wrzucę tam wszystkie najważniejsze swoje rzeczy. Chciałem mieć możliwość robienia tego z dowolnego miejsca przez net, więc pomyślałem o rsync
.Wszystko chciałem uruchamiać pod Windows, na dowolnym kompie do którego się podepnę. Stworzyłem prostą strukturę katalogów w głównym folderze dysku:
\bin \backupZawartość z katalogu
bin
z folderu instalacyjnego cwRsync wrzuciłem do katalogu bin
na dysku przenośnym.Dorzuciłem też plik
cwrsync.cmd
do głównego katalogu. Poniżej zawartość pliku:@echo off setlocal set CWRSYNCHOME=%~d0\bin set CYGWIN=nontsec set HOME=%HOMEDRIVE%%HOMEPATH% set PATH=%~d0\bin;%PATH% cygpath -a backup > backup.d set /p BACKUP= < backup.d del backup.d rsync -rtlv --compress user@host::moduł %BACKUP%/ < %~d0\plik_z_hasłemProblem z
rsync
polegał na tym, że ścieżka docelowa musi być absolutną ścieżką w formacie cygwin
, np.: /cygdrive/h/backup
. Wszelkie próby z relatywną ścieżką zawodziły.Wykorzystałem także możliwość prostej autoryzacji w
rsync
, jedynym sposobem przekazania hasła, było proste przekierowanie go z zewnętrznego pliku.