2017-10-03 1 views
0

나는 스크립트를 실행하기 위해 sbatch을 사용하고 있으며 출력 텍스트가 특정 지점의 파일에 기록되기를 원합니다 명령 모든 출력을 파일에 기록하고 싶습니다. 그것을 할 수있는 방법이 있습니까? 그렇지 않은 경우 출력 로깅을 완전히 비활성화하려면 어떻게합니까?SLURM .out 출력 처리

편집 : 예 : 위 내 의견으로 당

#!/bin/bash 
#SBATCH --partition analysis 
#SBATCH --nodes 1 
#SBATCH --ntasks-per-node 1 
#SBATCH --exclusive 
#SBATCH --time 14-0 
#SBATCH -c1 
#SBATCH --mem=400M 
#SBATCH --job-name jupyter 

module load jupyter 

## get tunneling info 
XDG_RUNTIME_DIR="" 

ipnip=$(hostname -i) 


echo " 
    Copy/Paste this in your local terminal to ssh tunnel with remote 
    ----------------------------------------------------------------- 
    ssh -N -L 7905:$ipnip:7905 [email protected] 
    ----------------------------------------------------------------- 
    " 
##UP UNTIL HERE ECHO TO TERMINAL 

##FROM NOW ON, ECHO TO A FILE 

## start an ipcluster instance and launch jupyter server 
jupyter-notebook --no-browser --port=7905 --ip=$ipnip 
+0

당신이 제공 할 수 있습니다 자세한 내용은, 그리고 당신이 좋아하는 것이 무엇의 예를 확인하기 위해 다음과 같은 방법으로 SRUN에 있음을

당신은 할 수 있습니까? –

+0

@CarlesFenoy 추가 – Joshhh

+0

대화 형 작업이 아니므로 sbatch를 사용하여 터미널에 쓸 수 없습니다. 당신은 srun으로 그렇게 할 수 있지만, 당신은 그것을위한 래퍼를 구현할 필요가있을 것이다. –

답변

0

은, 그것은 sbatch 제출 된 작업과 함께 터미널에 쓸 수 없습니다.

#!/bin/bash 
srun --partition analysis --nodes 1 --ntasks-per-node 1 --exclusive --time 14-0 -c1 --mem=400M --job-name jupyter wrapper.sh 

wrapper.sh :

#!/bin/bash 
module load jupyter 

## get tunneling info 
XDG_RUNTIME_DIR="" 

ipnip=$(hostname -i) 


echo " 
    Copy/Paste this in your local terminal to ssh tunnel with remote 
    ----------------------------------------------------------------- 
    ssh -N -L 7905:$ipnip:7905 [email protected] 
    ----------------------------------------------------------------- 
    " 
##UP UNTIL HERE ECHO TO TERMINAL 

##FROM NOW ON, ECHO TO A FILE 
exec > $SLURM_JOBID.out 2>&1 
## start an ipcluster instance and launch jupyter server 
jupyter-notebook --no-browser --port=7905 --ip=$ipnip