Ad.1.:
find /var/kafka/kafka-logs -type f -name "*.index" -exec rm -v {} \;
La respuesta a la segunda pregunta se puede encontrar aquí:¿Cómo integrar el comando mv después del comando find? .
Вы хотите включить srun
в цикл for, чтобы запросить узел в вашем скрипте. Если мы предположим, что у вас есть пять подмножеств, вы можете использовать что-то вроде:
for i in `seq 1 5`; do
srun \
-N1 \
--mem=124G \
--cpus-per-task=32 \
Rscript my_script.R --subset $i --file $1 > "$OUTPUT-$i" &
done
wait
Обратите внимание на команду &
и wait
. Это позволит этим процессам работать параллельно, и SLURM будет ждать, пока все в этом цикле for не завершится.
Вам также необходимо убедиться, что спецификация вашего выходного файла может быть записана параллельно, если вы выберете этот маршрут.Выше я добавил указатель к вашей переменной $OUTPUT
, которая давала бы разные файлы для каждого подмножества. Вам нужно будет добавить некоторый код после команды wait
, чтобы объединить ваши выходные данные в один большой файл.
Думаю, вы также захотите указать значение --nodes
в файле sbatch
, указывающее общее количество узлов, которые будет использовать ваша работа.
Другим вариантом может быть включение всего вашего кода задания в сценарий оболочки, который принимает аргументы строки команды -, и вызывать его из цикла for, используя srun
в вашем файле sbatch
. бывший.
for i in `seq 1 5`; do
srun -N1 --mem=124G --cpus-per-task=32 bash runAnalysis.sh --subset $i &
done
wait