Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a sshfs connection setup with a remote filesystem on a Linux server. I'm doing an Rsync from my local server to the ftpfs-filesystem. Because of the nature of this setup, I can't chown anything on the sshfs filesystem.

When I do the Rsync, it tries to chown all the files after it transfers them. This results in chown errors, even though it transfers the files just fine.

With Rsync, is there a way to tell it to not try and chown the files? If I rsync like 1000 files I end up with a log of 1000 chown: permission denied (error 13) errors. I know it doesn't hurt anything to get these errors since the ownership of the files is determined by the sshfs configuration itself. But it would be nice to not get them.

share|improve this question

3 Answers 3

up vote 28 down vote accepted

You are probably running rsync like this:

rsync -a dir/ remote:/dir/

The -a option according to the documentation is equivalent to: -rlptgoD

      -a, --archive    archive mode; equals -rlptgoD (no -H,-A,-X)

You probably want to remove the -o and -g options:

      -o, --owner                 preserve owner (super-user only)
      -g, --group                 preserve group

So instead your rsync command should look something like this:

rsync -rlptD dir/ remote:/dir/

Or as @glglgl points out:

rsync -a --no-o --no-g dir/ remote:/dir/

The remaining options in use are:

      -r, --recursive             recurse into directories
      -l, --links                 copy symlinks as symlinks
      -p, --perms                 preserve permissions
      -t, --times                 preserve modification times
      -D                          same as --devices --specials
          --devices               preserve device files (super-user only)
          --specials              preserve special files
share|improve this answer
8  
... or just -a --no-o --no-g –  glglgl Feb 29 '12 at 7:43
    
great answer @aculich –  nicorellius May 22 at 15:29

Don't pass -o or any of the other options that implies it.

share|improve this answer

Don't use the -a option, as it will include the -p option that keeps the permissions. For this situation, the -r should be enough.

For more infos, see man rsync.

share|improve this answer
3  
Are you sure -p is what I want to avoid? Ownership is different than permissions, correct? –  Jakobud Feb 29 '12 at 16:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.