bstage in

具有資料需求之工作的資料檔中的暫置。 bstage 複製或以符號方式鏈結工作執行主機 資料管理程式暫置區 的檔案。

用法概要

bstage in -all [-dst path] [-link]
bstage in -src "[host_name:]/abs_file_path/file_name" [-dst path[/file_name]] [-link]
bstage in -src "[host_name:]/abs_folder_path/[*]" [-dst path[/file_name]] [-link]
bstage in -tag tag_name [-u user_name] [-dst path] [-link]

說明

將檔案 Data Manager 暫置快取 複製或以符號方式鏈結至 工作執行主機。 您必須指定下列其中一個選項: -all-src-tag tag_name

如果包含工作是陣列元素,則 bstage 指令會檢查工作暫置區中是否存在對應於包含工作之陣列索引的子目錄。

依預設,只要提交工作,就會將必要的檔案暫置到本端暫置區快取中。 工作內的 bstage in 指令會尋找檔案在快取中的位置。 bstage in 將檔案從快取位置複製 (cpscp) 或鏈結 (ln) 至工作現行工作目錄。

選項

-全部

將工作提交所要求的所有檔案複製到工作現行工作目錄。 此指令會在快取的檔案中尋找每一個所要求暫置的位置。 所有檔案都會複製到非階層式目錄結構中的資料夾。 同名的輸入檔會彼此改寫。

基本上這個選項是下列指令的捷徑:
bstage in -src "host_name:/abs_file_path/file_name" -dst path/file_name

若要複製整個資料夾但保留目錄結構,請搭配使用 -src 選項與目錄萬用字元 ( //*)。

當您在路徑結尾使用星號字元 (*) 時,資料需求字串必須以引號括住。

-dst path

暫置檔案的目的地資料夾。

副本的目標可以是工作現行工作目錄的相對路徑,或絕對路徑。 如果路徑中的任何目錄不存在, bstage in 會嘗試建立它們。 如果未指定 -dst,則預設值為工作執行現行工作目錄。

如果路徑不存在,且 -src 指定單一檔案,則路徑會解譯為要複製到其中的目的地檔案。

如果路徑存在,且 -src 是單一檔案,則會複製或取代該檔案:
  • 如果路徑是檔案,則會以新檔案取代該檔案。
  • 如果路徑是目錄,則檔案會以其原始名稱複製到目錄中。

如果您指定 -tag-all,或指定 -src 與目錄萬用字元,則目的地會解譯為相對於工作現行工作目錄的資料夾名稱。 如果此目錄不存在, LSF 會嘗試建立它。

-src "[host_name:]/abs_file_path/file_name"
僅將工作提交中使用 host_name:abs_file_path 選項所要求的檔案複製到現行工作目錄。 主機及檔案路徑規格必須符合提交工作時指定的需求。 使用 bjobs -data 指令來查看確切的主機和檔案路徑規格:
bjobs -data 1962
JOBID   USER    STAT  QUEUE  FROM_HOST  EXEC_HOST  JOB_NAME   SUBMIT_TIME
1962    user1   PEND  normal hostA                 *p 1000000 Sep 20 16:31 
FILE                                 SIZE   MODIFIED 
datahost:/proj/user1/input1.dat      500 M   Jun 27 16:37:52 
datahost:/proj/user1/input2.dat      100 M   Jun 27 16:37:52 
datahost:/proj/user1/input3.dat      -      -

您可以省略主機名稱,以要求可在提交主機上本端存取的檔案。

-src "[host_name:]/abs_folder_path/[*]"

將工作提交中使用 host_name:/abs_folder_path/ 選項所要求的資料夾內容複製到現行工作目錄。 主機及檔案路徑規格必須符合提交工作時指定的需求。

您可以省略主機名稱,以要求可在提交主機上本端存取的檔案。

如果您指定沒有檔名的資料夾名稱,則絕對路徑必須以目錄 (/*) 或遞迴目錄 (/) 萬用字元結尾。 在此情況下,會將 -dst 選項解譯為資料夾,並將所有檔案下載至適當的子目錄,以抄寫基礎結構。

當您在路徑結尾使用星號字元 (*) 時,資料需求字串必須以引號括住。

例如,下列工作具有要求遞迴目錄的資料需求:

 bsub -data “hostA:/tmp/” ...

LSF 會將整個 /tmp 目錄及所有子目錄暫置在hostA然後,您的工作可以使用 bstage in 指令來呼叫該目錄:

bstage in -src "hostA:/tmp/" -dst directory

LSF 會抄寫工作執行現行工作目錄中 directory 下的整個子目錄結構。

-link
從暫置區快取位置建立指向所要求原始檔的符號鏈結,而不是複製它們。 請使用 -link 選項來避免在執行主機和暫置區之間複製不必要的檔案。 暫置區必須直接裝載在工作執行主機上,才能建立鏈結。
-tag tag_name

將本端快取中與指定標籤名稱相關聯的所有檔案複製到目的地選項指定的資料夾 (-dst)。 如果指定 -dst 選項,則會將目的地解譯為資料夾,並在目的地中抄寫此標籤資料夾下的整個目錄結構。

當工作使用先前工作所建立的中間資料檔時,請使用 -tag 選項。 您必須具有標籤目錄的讀取權。

有效標籤名稱只能包含英數字元 ([A-z|a-z|0-9]) ,以及句點 (.)、底線 (_) 和橫線 (-)。 標籤名稱不能包含上層目錄 (../)、現行目錄 (./) 或使用者起始目錄 (~/) 的特殊作業系統名稱。 標籤名稱不能包含空格。 標籤名稱不能以橫線 (-) 開頭。

使用 bdata tags clean 指令來移除標籤。

重要事項: 您負責標籤的名稱空間。 LSF 不會檢查標籤是否有效。 使用工作 ID、陣列索引及叢集名稱之類的字串作為標籤名稱的一部分,以確保您的標籤是唯一的。
-u user_name

依預設,您的工作可以暫置在僅與您自己的標籤相關聯的檔案中。 使用 -u 選項來暫置在與屬於另一個使用者名稱之標籤相關聯的檔案中。 CACHE_ACCESS_CONTROL = Y 參數必須在 lsf.datamanager 檔案中配置,才能使用 -u 選項。

在提交工作之前,您必須確定標籤存在,且您具有適當的許可權來使用與該標籤相關聯的檔案。