Назад | Перейти на главную страницу

Rsync over ssh синхронизирует всю исходную папку, а не только отсутствующие файлы

Я RTFMed rsync до мозга костей, но я просто не могу понять, что я здесь делаю не так. Я пытаюсь синхронизировать две папки по SSH. Папки идентичны, за исключением одного файла, как вы можете видеть здесь:

nick@rilmir-laptop:~$ ssh -i .ssh/rilmir_passless nick@rilmir ls -l /home/nick/foobar/
total 2540
-rwxrwxrwx 1 nick nick 427676 Jan 19  2008 P1010001.JPG
-rwxrwxrwx 1 nick nick 431335 Jan 19  2008 P1010002.JPG
-rwxrwxrwx 1 nick nick 432706 Jan 19  2008 P1010003.JPG
-rwxrwxrwx 1 nick nick 431954 Jan 19  2008 P1010004.JPG
-rwxrwxrwx 1 nick nick 420208 Jan 19  2008 P1010005-rilmir.JPG
-rwxrwxrwx 1 nick nick 420208 Jan 19  2008 P1010005.JPG
nick@rilmir-laptop:~$ ls -l /home/nick/foobar/
total 2540
-rw------- 1 nick nick 427676 Sij 19  2008 P1010001.JPG
-rw------- 1 nick nick 431335 Sij 19  2008 P1010002.JPG
-rw------- 1 nick nick 432706 Sij 19  2008 P1010003.JPG
-rw------- 1 nick nick 431954 Sij 19  2008 P1010004.JPG
-rw------- 1 nick nick 420208 Sij 19  2008 P1010005.JPG
-rw------- 1 nick nick 420208 Sij 19  2008 P1010005-laptop.JPG

Итак, теперь я пытаюсь выполнить их rsync и получаю весь каталог хоста, как если бы rsync не подключался к удаленному компьютеру.

nick@rilmir-laptop:~$ rsync -avz --dry-run -e "ssh -i .ssh/rilmir_passless nick@rilmir:/home/nick/foobar/"  /home/nick/foobar/
sending incremental file list
drwxrwxr-x          4,096 2014/08/27 20:00:08 .
-rw-------        427,676 2008/01/19 15:13:12 P1010001.JPG
-rw-------        431,335 2008/01/19 15:13:12 P1010002.JPG
-rw-------        432,706 2008/01/19 15:13:12 P1010003.JPG
-rw-------        431,954 2008/01/19 15:13:12 P1010004.JPG
-rw-------        420,208 2008/01/19 15:13:12 P1010005-laptop.JPG
-rw-------        420,208 2008/01/19 15:13:12 P1010005.JPG

sent 138 bytes  received 449 bytes  1,174.00 bytes/sec
total size is 2,564,087  speedup is 4,368.12 (DRY RUN)
nick@rilmir-laptop:~$ 

Мой гугл-фу подвел меня, я просто не могу понять, почему это не удается. Любые идеи?

Редактировать:
Да, я знаю, что это пробный запуск, это специально при тестировании.

Удалите пробный прогон (это означает просто «имитировать»), а также используйте правильный формат для параметров ssh.

rsync -avz -e "ssh -i .ssh/rilmir_passless" nick@rilmir:/home/nick/foobar/ /home/nick/foobar/

Кстати, это переносит удаленное содержимое на локальную сторону. Вы можете захотеть --delete удалить все, что находится в dest, но не в источнике.