[問題] Parallel --retries使用上的問題

作者: starlin2 (重新開始生活)   2021-05-21 13:08:35
大家好,小弟最近因為需要複製個很多目錄跟檔案的project,
覺得只用cp -r速度太慢,因此想用parallel的方式複製,
但用find xxx很麻煩需要先建目錄再copy檔案,
如果各位大大有更好的方式再麻煩指導一下。
我現在遇到的問題是,我用parallel的方式去mkdir,
路徑大概是這樣
source_dir-projname-folder1-folder11-folder111
-folder12-folder122
指令如下:
cd source_dir
find projname -type d | parallel -j32 -retries 99 mkdir -v dest_dir/{}
我已經有加上retries了,應該如果他先建folder11
而此時folder1還沒建就會出現error,
預期加上retries應該會再重試,但似乎沒用,
我加到99了還是會出現像這樣的錯誤,
mkdir: created directory '/dest_dir/projname/folder1'
mkdir: cannot create directory ‘/dest_dir/projname/folder11/folder111’: No
such file or directory
mkdir: cannot create directory ‘/dest_dir/projname/folder12/folder122’: No
such file or directory
mkdir: created directory '/dest_dir/projname/folder11'
想問一下各位大大這個是否有什麼解快方式?感謝各位大大收看以及指導。
作者: rickieyang (Rickie Yang)   2021-05-21 13:24:00
mkdir 加個 -p, 會連老爸,阿公跟阿祖之類的一起建
作者: observer0117 (ob)   2021-05-21 14:48:00
-p正解
作者: starlin2 (重新開始生活)   2021-05-21 14:53:00
喔喔~太感謝了,原來只要-p就可以了,多謝指導。
作者: rickieyang (Rickie Yang)   2021-05-21 17:11:00
然後這種你可以考慮把樣本 tar 起來, 再解到目標目錄
作者: starlin2 (重新開始生活)   2021-05-22 08:48:00
沒辦法,我沒有source的寫入權限.....><
作者: rickieyang (Rickie Yang)   2021-05-22 15:13:00
Source 只要能讀取就可以了呀
作者: starlin2 (重新開始生活)   2021-05-24 16:58:00
但就是因為source在遠端,遍歷的速度比較慢,所以才要用parallel的方式加快,直接tar到local也還是一樣慢....><
作者: rickieyang (Rickie Yang)   2021-05-24 23:04:00
都是目錄,速度影響不大吧?
作者: starlin2 (重新開始生活)   2021-05-25 11:26:00
我在windows用robocopy /s /MT:32的話大概1,2個小時co完不過如果在linux用cp -r或是rsync的話大概都5,6小時以上昨天試了tar cvf跟tar -I pigz -cf也都差不多慢....

Links booklink

Contact Us: admin [ a t ] ucptt.com