rsyncはどのようにファイル名をエンコードしますか?

rsyncはどのようにファイル名をエンコードしますか?

straceアクティブプロセスを使用すると、rsync次の出力を表示できます。

read(4, "9\0\0\7\1\10\0\1\10\0\1\10\0\1\10\0\1\10\0\1\10\0\1\10\0\1\10\0\1\10\0\1"..., 16384) = 61
write(3, "\357\265mD0e\233:\337\250\241\363\255 \307\5\213\224d\322\323\203i\2671\222m'\252\354\n\211"..., 96) = 96

インターネット検索をしましたが、良い答えが見つかりませんでしたが、誰かが上記のエンコーディングを理解する方法を説明できますか?

私はこれがすべての単一文字がエスケープされ、上記の読み取りと書き込みの呼び出しがファイル名を使用する一種のエンコーディングであると仮定します。それでは、これが何を意味するのか、そして人間が読める文字列に簡単に変換するにはどうすればよいですか?

もともと投稿で詳細を提供できなかったことをお詫び申し上げます!私がやっていることは、次のコマンドを実行することです。

/usr/bin/time /usr/bin/ionice -c3 /usr/bin/rsync -cavzP --fake-super --exclude=' bla bla...' --bwlimit=40000 / backup@backup:/mnt/storagedisk/workstation-backup/

ps aux | grep rsyncこれにより、次のような内容が表示されます。

root      7875  0.0  0.0   4064   348 pts/5    S+   20:29   0:00 /usr/bin/time /usr/bin/ionice -c3 /usr/bin/rsync -cavzP --fake-super --exclude=... --bwlimit=40000 / backup@backup:/mnt/storagedisk/workstation-backup
root      7876 15.3  0.2  52656  8384 pts/5    D+   20:29   0:02 /usr/bin/rsync -cavzP --fake-super --exclude=...  --bwlimit=40000 / backup@backup:/mnt/storagedisk/workstation-backup/
root      7877  0.0  0.0  41680  3252 pts/5    S+   20:29   0:00 ssh -l backup backup rsync --server -vlogDtprcze.iLsf --bwlimit=40000 --partial . /mnt/storagedisk/workstation-backup/

正直に言うと、今はあなたが接続しているリストのプロセス番号2か3であるかを完全にはわかりませんstrace。リスト内のプロセス番号2のようです。出力にファイル名が表示されず、少し驚きましたstrace。しかし、プロセス3である可能性があり、読み取り/書き込みがコンテンツになるのは合理的です。ネットワーク経由で送信されています。

初めてご質問いただいた際に、詳細をお知らせしなかったことについて改めてお詫び申し上げます。私が見ている内容をよく理解していないので、元の質問は少し遠いようです。したがって、質問全体を再表現するか、完全に削除する必要があります。あまり具体的ではありません。モードに決定を任せます。 :)

答え1

/usr/bin/rsync -cavzP --fake-super --exclude=' bla bla...' --bwlimit=40000 ...
                   ^-- compress flag

自己圧縮を実行するフラグを使用してrsyncを実行しています。読み書きするデータは圧縮データストリームです。データを理解するには申請する必要があります。収縮解凍アルゴリズムを実行します。

そのフラグを削除すると、zrsync I / Oをより簡単に識別できます。

答え2

これマンページ次のように教えてください。

文字ポインタは逆参照され、C文字列として印刷されます。文字列から印刷されない文字は通常、通常のCエスケープコードで表されます。文字列の最初のstrsize(デフォルトは32)バイトのみが印刷されます。長い文字列には、閉じる引用符の後に省略記号が追加されます。

FD3とFD4に表示されるのはおそらく暗号化されたデータです(少なくともSSHを使用している場合)。

関連情報