Как перенести резервную копию с сервера Linux на мой ПК с Windows с помощью rsync?

Как перенести резервную копию с сервера Linux на мой ПК с Windows с помощью rsync?

В настоящее время я использую sftp для загрузки ночных резервных копий (.tar.gz) с моего веб-хостинга на мой настольный компьютер. Думаю, мне стоит перейти на rsync, чтобы минимизировать полосу пропускания (и время). У меня установлен cygwin на моем ПК, но я не часто им пользуюсь. У меня есть доступ к оболочке моего веб-хостинга через ssh (PuTTY).

Допустим, мой исходный каталог — myserver.com:/home/username/backups/, я хочу извлечь оттуда все файлы .tar.gz и сохранить их локально в C:\Backups\.

решение1

Используйте встроенный rsync на *nix-компьютере иDeltaCopyна коробке Win32.

решение2

Мне удалось заставить это работать с rsync и ssh cygwin. Вот команда, которая у меня получилась:

C:\cygwin\bin\rsync.exe -vcr -e "ssh -l username -i /cygdrive/C/Backups/sshkey" "myserver.com:/home/username/backups/" "/cygdrive/C/Backups/rsync/"

Вот некоторые проблемы по ходу дела: Добавил C:\cygwin\bin\ в свой Windows PATH. Не знаю, было ли это строго необходимо, но мне помогло.

Крис С.'sсвязьдля создания пары ключей, необходимой для подключения по протоколу SSH без использования пароля.

Мне также нужно было установить некоторые разрешения для недавно созданного каталога .ssh и файла на сервере...

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys/

О, и мне нужно было вручную локально создать ~/.ssh в cygwin.

Связанный контент