rsync :“<dir path>”에서 시간을 설정하지 못했습니다.


20

한 서버에서 다른 서버로 파일을 동기화하려고하지만이 오류가 발생합니다.

rsync : "/ dept / intranet / dept / atest /"에서 시간을 설정하지 못했습니다 : 작업이 허용되지 않습니다 (1)

누군가 왜 그렇게 도울 수 있습니까?

일부 권한 문제인 것 같습니다.

이것은 내 명령입니다.

RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
REMOTE_HOST=test.desktop

${RSYNC} -crlt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}

LOCAL_DIR = workplace1/f1/
permissions drwxr-xr-x   11 root     root         4096 Mar 19  2009 f1

REMOTE_DIR=/dept/intranet/dept/atest/f1/
permissions :drwxr-xr-x 14 dbld   a1     4096 Mar 19  2009 f1     

우리에게 더 많은 정보를 줄 수 있습니까? * 귀하의 rsync 명령 * 로컬 + 원격 사용자 * 파일 권한
Brian Clozel

질문을 편집했습니다.

답변:


26

우리는 같은 페이지에 있습니다.

-r recursive
-l preserve links
-c sync based on file checksum
-t preserve modification times

그런 다음 두 가지 :

파일 시스템 일뿐입니다.

대상 폴더가 NFS 마운트이거나 모드 시간을 제대로 처리하지 못하는 일부 파일 시스템 인 경우 제대로 중단됩니다.

명령에 -O(for --omit-dir-times) 매개 변수를 추가하십시오 .

수정 시간은 유지되지만 디렉토리의 경우 생략됩니다.

${RSYNC} -crlOt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}

파일 동기화가 작동하는 것처럼 보이고 오류가 모드 시간 동기화에서 발생하기 때문에 이것이 최선의 추측입니다. 어쨌든, 수정 시간을 정말로 보존해야 합니까? 이 -c옵션은 체크섬을 기준으로 파일을 건너 뜁니다 (따라서 모드 시간은 중요하지 않습니다).

아니면 실제로 권한 문제입니다

  • 스크립트를 실행하는 사용자에게 대상 폴더를 편집 / 작성할 수있는 권한이 있습니까? (시도 ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test")
  • 스크립트를 실행하는 사용자가 "The Right One ™"입니까 (시도 ssh -vv thegooduser@test.desktop "touch /dept/intranet/dept/atest/f1/test")

위의 어느 것도

-v자세한 옵션을 사용 하여 명령을 실행하십시오 .


1
--omit-dir-times팁 주셔서 감사합니다 . 정말 도움이됩니다.
JakeGould


1

필자의 경우 동기화가 발생한 상위 디렉토리에 대한 권한을 부여하여 문제를 해결했습니다.

실제로 상위 디렉토리의 소유자는 동기화를 수행하는 사용자가 아닙니다.

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