作者starlin2 (找房子找房子找房子~)
看板Linux
標題[問題] Parallel --retries使用上的問題
時間Fri May 21 13:08:35 2021
大家好,小弟最近因為需要複製個很多目錄跟檔案的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'
想問一下各位大大這個是否有什麼解快方式?感謝各位大大收看以及指導。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.155.74 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1621573718.A.1E7.html
推 rickieyang: mkdir 加個 -p, 會連老爸,阿公跟阿祖之類的一起建 05/21 13:24
推 observer0117: -p正解 05/21 14:48
→ starlin2: 喔喔~太感謝了,原來只要-p就可以了,多謝指導。 05/21 14:53
推 rickieyang: 然後這種你可以考慮把樣本 tar 起來, 再解到目標目錄 05/21 17:11
→ starlin2: 沒辦法,我沒有source的寫入權限.....>< 05/22 08:48
推 rickieyang: Source 只要能讀取就可以了呀 05/22 15:13
→ starlin2: 但就是因為source在遠端,遍歷的速度比較慢,所以才要用 05/24 16:58
→ starlin2: parallel的方式加快,直接tar到local也還是一樣慢....>< 05/24 16:58
推 rickieyang: 都是目錄,速度影響不大吧? 05/24 23:04
→ starlin2: 我在windows用robocopy /s /MT:32的話大概1,2個小時co完 05/25 11:26
→ starlin2: 不過如果在linux用cp -r或是rsync的話大概都5,6小時以上 05/25 11:27
→ starlin2: 昨天試了tar cvf跟tar -I pigz -cf也都差不多慢.... 05/25 11:30