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

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

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

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



답변

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


답변

통과 -o하거나 다른 옵션을 암시 하지 마십시오 .


답변

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

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


답변

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

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

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

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


답변