2013-06-21 54 views
1

我正在使用PBS qsub在羣集上運行腳本,該腳本必須輸出以批作業提交時間命名的報告文件。如何知道PBS批處理作業提交時間內的腳本被執行?

批處理作業提交時間是它加入PBS批處理作業的時間。

我檢查了所有的PBS默認變量,但沒有找到任何與作業提交時間相關的內容。

我想知道如何在不創建新輸入變量的情況下得到這個時間。

謝謝。

回答

1

我自己想通了。

將以下函數添加到您的PBS批處理作業腳本中以獲取作業提交時間。

getsubmitdate(){ 
    local datestring=`qstat -f $PBS_JOBID | grep -F qtime | awk '{for(i=3;i<8;i++) printf $i" "}'`; 
    local result=`date -d "$datestring" +%Y%m%d` ; 
    local outputvar=$1 ; 
    if [[ "$outputvar" ]] ; then 
     eval $outputvar="'$result'" 
    else 
     echo "$result" 
    fi 
} 

getsubmitdate SUBMITDATE 
echo $SUBMITDATE