GNU/Linux >> Znalost Linux >  >> Linux

Odesílání úloh SLURM se STDOUT &STDERR zapsanými do souborů s JOB_ID

Existují různé způsoby, jak odeslat úlohy SLURM do clusteru, a hlavním způsobem je odeslání skriptu s sbatch příkaz, jak je znázorněno níže:

dávka runcscript.sh

V mém nedávném pokusu vyvinout webovou aplikaci s backendem jako plánovač SLURM pro správu úloh jsem odkazoval na dokumentaci SLURM k přesměrování STDOUT a STDERR do souboru w.r.t na ID úlohy, jak je uvedeno níže:

#!/bin/bash#SBATCH --job-name=qsim#SBATCH --partition=standard-low#SBATCH -o $SLURM_JOB_ID.output #SBATCH -e $SLURM_JOB_ID.error python UWVr6QCFKLGgx6sRtsnRZyRrajJdbPF4CsKGUqd7S4r.py

Výstup bohužel nebyl nahrazen proměnnou $SLURM_JOB_ID .

$ls -lrt-rw-rw-r-- 1 vivekn vivekn 737 17. září 12:43 $SLURM_JOB_ID.output-rw-rw-r-- 1 vivekn vivekn 580 17. září 12:43 $SLIDURM_JOB /před> 

Po poměrně rozsáhlém výzkumu a správný průvodce z Harvardu mi ukázal, že způsob, jakým odkazuji, byl špatný, a musel jsem změnit skript SLURM Jobs, jak je uvedeno níže:

#!/bin/bash#SBATCH --job-name=qsim#SBATCH --partition=standard-low#SBATCH -o %j.output #SBATCH -e %j.error python UWVr6QCFKLGgx6sRtsnRZyRrajJdbPF4CsKGUqd7S4r.py

%j v názvu souboru bude za běhu nahrazeno JobID.

Ještě jsem však nezjistil, proč proměnná prostředí SLURM $SLURM_JOB_ID nefungovala. Aktualizuji, jakmile budu mít vysvětlení. Pokud máte nějaké návrhy nebo odpovědi, napište je do sekce komentářů níže.


Linux
  1. Jak šifrovat soubory pomocí gocryptfs na Linuxu

  2. Práce se soubory ZIP v Linuxu

  3. Jak přesměrovat stderr a stdout na různé soubory ve stejném řádku ve skriptu?

  1. Cat soubory s adresářem?

  2. Jak přesměrovat Stderr a Stdout na různé soubory a také zobrazit v terminálu?

  3. Seřadit soubory v konkrétní složce pomocí Ranger?

  1. Jak naplánovat úlohy Cron pomocí Crontab

  2. Zálohujte své soubory pomocí rsync

  3. Echo jak stdout, tak stderr