我使用这个脚本来下载文件。没有-b
,wget
则逐个下载文件。有了-b
,我可以在后台同时下载文件。不幸的是,该脚本在 SLURM 中不起作用。它只-b
在 Slurm 中没有工作。
下载文件的脚本
#!/bin/bash
mkdir data
cd data
for i in 11 08 15 26 ;
do
wget -c -b -q ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR116/0${i}/SRR116802${i}/SRR116802${i}_1.fastq.gz
wget -c -b -q ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR116/0${i}/SRR116802${i}/SRR116802${i}_2.fastq.gz
done
cd ..
泥浆脚本
#!/bin/bash
#SBATCH --job-name=mytestjob # create a short name for your job
#SBATCH --nodes=2 # node count
#SBATCH --ntasks=2 # total number of tasks across all nodes
#SBATCH --cpus-per-task=2 # cpu-cores per task (>1 if multi-threaded tasks)
#SBATCH --mem-per-cpu=4G # memory per cpu-core (4G is default
#SBATCH --time=10:01:00 # total run time limit (HH:MM:SS)
#SBATCH --array=1-2 # job array with index values 1, 2
#Execution
bash download.sh
在终端上:(sbatch slurmsript.sh
没用)no jobid
答案1
使用作业数组,您可以同时下载文件(每个数组任务都下载)。无需将 wget 置于后台。根据我的经验,实际上,如果您尝试通过在后台启动进程来“释放”slurm 脚本命令行,则 slurm 会在 slurm 提交脚本完成执行时终止作业(但您的任务可能仍在后台运行) 。所以这是你想要的前景和泥浆!