1. 程式人生 > >find cp文件夾

find cp文件夾

終端 進程 輸入 路徑 們的 會有 所有 ont linux下

客戶有個需求,要找到以他們的企業ID命名的文件夾裏的所有文件,並且保留原先完整的路徑,因為完整路徑已經寫到了數據庫裏。

1. 命令

# find /recdata/saas_ali/call -name 20001371 -type d | xargs -i cp -a --parents {} /mobilehd

//上述命令表示為,查找名稱為20001371的文件夾,並將其以保留完整路徑的方式拷貝到移動硬盤掛載目錄/mobilehd下。

// --parents為cp命令的參數,表示拷貝全路徑。

2. 一般拷貝文件需要長時間運行,所以考慮到運行命令後終端經常被結束掉,導致拷貝被終止的情況,筆者有以下解決方法。

- crontab計劃任務,但是要註意精確到分時日月周的每一項或者及時刪除和註釋,防止重復執行,操作比較復雜。

- at臨時計劃任務,操作簡單。

- nohup後臺運行方式(推薦項),操作簡單。

linux下命令以‘&‘結尾的時候表示後臺運行,但是當終端關閉後此程序將被終止,所以我們要使用nohup(當終端關閉後不掛起該命令)。

所以我們將命令優化為:

nohup find /recdata/saas_ali/call -name 20001371 -type d | xargs -i cp -a --parents {} /mobilehd &

但是有個註意事項:

有時候使用nohup會有問題,當把終端暴力關閉後,進程會自動被關閉。

所以操作的時候使用以下順序來確保進程不被中斷。

① 輸入命令:nohup find /recdata/saas_ali/call -name 20001371 -type d | xargs -i cp -a --parents {} /mobilehd &

②敲‘回車鍵‘

③輸入exit退出終端

?

find cp文件夾