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