看板 Linux 關於我們 聯絡資訊
大家好,小弟最近因為需要複製個很多目錄跟檔案的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