rsync를 사용한 동기화는 이름에 점과 기타 기호가 포함된 디렉터리에 대해 "잘못된 인수(22)" 오류를 출력합니다.

rsync를 사용한 동기화는 이름에 점과 기타 기호가 포함된 디렉터리에 대해 "잘못된 인수(22)" 오류를 출력합니다.

/dir1sync (ext4) 및 /dir2(ntfs)를 사용해 보았지만 rsync -azP다음 오류가 발생합니다.

rsync: recv_generator: mkdir "dir2/X.Y." failed: Invalid argument (22)

rsync: recv_generator: mkdir "dir2/CATSNDOGS\#123.11." failed: Invalid argument (22)

디렉토리는 다른 당사자에 의해 생성 X.Y.되고 CATSNDOGS #123.11.해당 이름으로 이름이 지정되며 Python 스크립트를 사용하여 /dir1.

cd이 디렉토리에 들어갈 수 없으며 ls -d목록에도 없습니다. 반면 GUI 기반노틸러스그것들과 그 내용이 완벽하게 표시됩니다.

답변1

문제는 rsync잘못된 문자가 포함된 NTFS 파티션에 디렉터리를 만들려는 시도입니다. ~에서명명 규칙

다음 문자를 제외하고 유니코드 문자 및 확장 문자 세트(128-255)의 문자를 포함하여 현재 코드 페이지의 모든 문자를 이름으로 사용하십시오.

The following reserved characters:   
 > (less than)
 < (greater than)   
 : (colon)   
 " (double quote)   
 / (forward slash)   
 \ (backslash)   
 | (vertical bar or pipe)   
 ? (question mark)   
 * (asterisk)

반품

파일 이름이나 디렉터리 이름을 공백이나 마침표로 끝내지 마십시오. 기본 파일 시스템에서는 이러한 이름을 지원할 수 있지만 Windows 셸 및 사용자 인터페이스에서는 지원하지 않습니다. 그러나 이름의 첫 번째 문자로 마침표를 지정할 수 있습니다. 예를 들어 ".temp"입니다.


실패한 디렉터리에 잘못된 문자가 있거나 마침표로 끝납니다.

답변2

답변이 늦었지만 도움이 될 것입니다. 여기에 비슷한 문제가 있습니다(rsync: [sender] readlink_stat 반환 실패: 잘못된 인수(22)). 폴더는 Dolphin에도 표시되지 않습니다. NTFS 드라이브를 제거하고 chkdsk drive: /r /fWindows에서 실행한 후 문제의 폴더(고아)와 이름이 FILE~2.TXT. 이미 사용 중입니다". Linux로 돌아가기 rsync는 문제 없이 작동합니다.

또한 dmesg/journalctl -ke수백 개의 "nftfs3:sdb2:ino=1dc0 "folder" 디렉터리 손상됨" 오류를 발견했습니다.

관련 정보