2

I RTFMed rsync to the bone, but I just cannot figure out what I'm doing wrong here. I'm trying to sync two folders across SSH. Folders are identical save for one file, as you can see here:

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 

So, now I try rsyncing them, and what I get is the whole host directory, as if rsync did not connect to the remote.

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:~$ 

My google-fu has failed me, I just cannot figure out why this fails. Any ideas?

Edit:
Yes, I know this is dry run, that is on purpose while testing.

3
  • rsync by default runs over ssh if you specify remote location as user@host:/path/to/dir, you shouldn't provide ssh command. Also you are running in dry-mode, that means that there will be no actual changes in work of rsync command. Commented Aug 27, 2014 at 18:27
  • 1
    I think the dry run is telling you it wants to make permissions changes to all the files - the a option is archive mode which preserves permissions. Commented Aug 27, 2014 at 18:27
  • You could try without appending slash on the source folder and/or target folder. I had this issue once, and having the target postfixed with a slash means sync into that folder, instead of actually sync that folder. Commented Dec 12, 2016 at 8:24

1 Answer 1

4

Remove dry-run (it means to just "simulate"), as well as use a proper format for the ssh parameters.

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

By the way, this brings the remote contents to the local side. You may want --delete to remove stuff that is on the dest but not on the source.

2
  • I'm sure I tried that format for ssh parameters sometime during debugging, but I obviously didn't because now everything works. Thanks! Commented Aug 27, 2014 at 18:57
  • Ok, if it works, please make sure you accept the answer for future reference. Commented Aug 27, 2014 at 19:05

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.