Работа с выходом SLURM .out

Я использую sbatch запускать сценарии, и я хочу, чтобы выводимый текст записывался в файл с определенной точки, т.е. я хочу отобразить некоторый текст, чтобы пользователь мог видеть, но после определенной команды я хочу, чтобы весь вывод был записан в файл. Есть ли способ сделать это? Если нет, как я могу полностью отключить ведение журнала?

РЕДАКТИРОВАТЬ: Пример:

#!/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 USER@HOST
    -----------------------------------------------------------------
    "
##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

1 ответ

Согласно моему комментарию выше, невозможно написать в терминал с заданием, отправленным sbatch.

Вы можете сделать это с помощью srun следующим образом:

#!/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 USER@HOST
    -----------------------------------------------------------------
    "
##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
Другие вопросы по тегам