Вопрос: Как сохранить Rsync от chown'ing переданных файлов?


У меня есть настройка подключения sshfs с удаленной файловой системой на сервере Linux. Я делаю Rsync с моего локального сервера в ftpfs-файловую систему. Из-за природы этой установки я не могу chown что-либо в файловой системе sshfs.

Когда я делаю Rsync, он пытается прослушать все файлы после их передачи. Это приводит к ошибкам chown, даже несмотря на то, что файлы передаются в порядке.

С Rsync, есть ли способ сказать, чтобы он не пытался и chown файлы? Если я rsync, как 1000 файлов, я получаю журнал 1000 chown: permission denied (error 13) ошибки. Я знаю, что это не повредит, чтобы получить эти ошибки, поскольку владение файлами определяется самой конфигурацией sshfs. Но было бы неплохо не получить их.


62
2018-02-28 23:24


Источник




Ответы:


Вероятно, вы используете rsync следующим образом:

rsync -a dir/ remote:/dir/

-a вариант согласно документации эквивалентно: -rlptgoD

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

Вероятно, вы хотите удалить -o а также -g опции:

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

Поэтому вместо этого ваша команда rsync должна выглядеть примерно так:

rsync -rlptD dir/ remote:/dir/

Или как @glglgl указывает на то:

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

Остальные используемые опции:

      -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

93
2018-02-29 05:12



... или просто -a --no-o --no-g - glglgl
Я просто использовал rsync -r --no-o --no-g /source/* /dest/ и мой владелец и группа файлов в пункте назначения все еще были изменены в соответствии с источником. Есть идеи? - Ram Patra


Не проходите мимо -o или любые другие варианты, которые это подразумевают.


12
2018-02-28 23:40





Не используйте -a вариант, поскольку он будет включать -p который сохраняет разрешения. В этой ситуации -r должно быть достаточно.

Для получения дополнительной информации см. man rsync,


5
2018-02-28 23:41



Ты уверен -p чего я хочу избежать? Собственность отличается от прав, правильно? - Jake Wilson


Я столкнулся с чем-то похожим, rsync не сохранял владельца, а группа файлов и каталогов синхронизировалась с удаленного сервера. Чтобы исправить, я скопировал /etc/shadow, /etc/group а также /etc/passwd файлы.

Когда я запустил rsync Затем команда работала над тем, что она сохранила разрешения, символические ссылки и право собственности.

Я установил ключи ssh для использования без пароля ssh.

rsync -avpog user@10.1.x.x:/usr/local /usr

0
2018-04-06 15:00