Rsync
rsync 臨時文件副檔名
如果我不使用 –inplace 選項,我很難找到 Rsync 如何為在復製文件時創建的臨時文件“選擇”副檔名。
範例:我想
sourceDirectory/myFile.txt
用targetDirectory/
Rsync 複製。複製
myFile.txt
到Rsync時targetDirectory/
會創建一個名為.myFile.txt.W4zvLi
.targetDirectory/
然後 Rsync 將重命名
.myFile.txt.W4zvLi
為myFile.txt
.問題是為什麼 Rsync 使用
W4zvLi
擴展,以及為什麼每次執行 Rsync 程序時它似乎都會改變?
rsync 使用
mktemp(3)
POSIX 函式生成唯一的臨時文件名。您將模板字元串傳遞給mktemp
函式,它將返回一個文件名,X
其中模板中的任何字元都替換為隨機字元。特別是,
rsync
傳遞.XXXXXX
給mktemp
. 如果你想從命令行嘗試它,你可以mktemp(1)
像這樣使用二進製文件:mktemp -u "/tmp/foo.XXXXXX"
人rsync:
Beginning with rsync 3.1.1, the temp-file names inside the specified DIR will not be prefixed with an extra dot (though they will still have a random suffix added).