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パーティションにディレクトリを作成しようとすることです。 ~から命名規則

以下の文字を除き、Unicode文字と拡張文字セット(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))。フォルダはドルフィンにも表示されません。 NTFSドライブを削除し、chkdsk drive: /r /fWindowsで実行した後、問題のフォルダ(孤児)と名前がFILE~2.TXT。すでに使用中です。」Linuxに戻るrsyncは問題なく動作します。

また、dmesg/journalctl -ke何百ものエラーが発生しました。

関連情報