Rsync가 전송 된 파일을 숨기는 것을 방지하는 방법은 무엇입니까?


72

Linux 서버에서 원격 파일 시스템으로 sshfs 연결 설정이 있습니다. 로컬 서버에서 ftpfs-filesystem으로 Rsync를 수행하고 있습니다. 이 설정의 특성상 chownsshfs 파일 시스템 에서는 아무것도 할 수 없습니다 .

Rsync를 수행하면 모든 파일을 전송 한 후 chown하려고합니다. 파일을 제대로 전송하더라도 chown 오류가 발생합니다.

Rsync를 사용하면 파일을 숨기지 말라고 말할 수 있습니까? 1000 파일처럼 재 동기화하면 1000 chown: permission denied (error 13)오류 로그가 나타납니다. 파일 소유권은 sshfs 구성 자체에 의해 결정되므로 이러한 오류가 발생해도 아무런 문제가 없습니다. 그러나 그들을 얻지 않는 것이 좋을 것입니다.

답변:


107

아마도 다음과 같이 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

19
... 또는 그냥-a --no-o --no-g
glglgl

1
나는 방금 사용 rsync -r --no-o --no-g /source/* /dest/했으며 대상의 파일 소유자와 그룹은 여전히 ​​소스에 따라 변경되었습니다. 어떤 아이디어?
Ram Patra


5

권한을 유지하는 옵션 -a이 포함 -p되므로이 옵션을 사용하지 마십시오 . 이 상황에서는 -r충분합니다.

자세한 내용은를 참조하십시오 man rsync.


4
-p내가 피하고 싶은 것이 확실 합니까? 소유권이 권한과 다릅니다. 맞습니까?
Jake Wilson

0

rsync파일 및 디렉토리의 소유자 및 그룹이 원격 서버에서 동기화되지 않은 유사한 문제가 발생했습니다 . 해결하려면, 나는 복사 /etc/shadow, /etc/group/etc/passwd파일.

rsync아래 명령을 실행하면 권한, 기호 링크 및 소유권이 유지됩니다.

암호가없는 ssh를 사용하도록 ssh 키를 설정했습니다.

rsync -avpog user@10.1.x.x:/usr/local /usr
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.