Rsync一時ファイル拡張子

Rsync一時ファイル拡張子

--inplaceオプションを使用しない場合、ファイルをコピーするときにRsyncが生成する一時ファイルの拡張子をどのように「選択する」のかを判断するのに問題があります。

例:Rsyncを使ってコピーしたいですsourceDirectory/myFile.txttargetDirectory/

RsyncmyFile.txtにコピーするtargetDirectory/と。.myFile.txt.W4zvLitargetDirectory/

その後、Rsync.myFile.txt.W4zvLiの名前がmyFile.txt

問題は、RsyncがこのW4zvLi拡張を使用する理由と、Rsyncプログラムが実行されるたびに変更されるように見えるのはなぜですか?

ベストアンサー1

rsyncはmktemp(3)POSIX関数を使用して一意の一時ファイル名を生成します。この関数にテンプレート文字列を渡すと、テンプレート内のすべての文字が任意の文字に置き換えられたmktempファイル名が返されます。X

特に、コマンドラインで試すには、次のようにバイナリを使用rsyncできます.XXXXXXmktempmktemp(1)

mktemp -u "/tmp/foo.XXXXXX"

おすすめ記事