小编Ara*_*390的帖子

如何获取用于 SLURM 作业的脚本的原始位置?

我正在使用脚本开始 SLURM 作业,脚本必须根据它的位置工作,该位置是在脚本本身内部使用SCRIPT_LOCATION=$(realpath $0). 但是 SLURM 将脚本复制到slurmd文件夹并从那里开始工作,它搞砸了进一步的操作。

是否有任何选项可以在移动/复制之前获取用于 slurm 作业的脚本的位置?

脚本位于网络共享文件夹中/storage/software_folder/software_name/scripts/this_script.sh,它必须:

  1. 获取它自己的位置
  2. 返回software_name文件夹
  3. software_name文件夹复制到本地文件夹/node_folder节点上
  4. 从复制的文件夹运行另一个脚本 /node_folder/software_name/scripts/launch.sh

我的脚本是

#!/bin/bash
#SBATCH --nodes=1
#SBATCH --partition=my_partition_name

# getting location of software_name 
SHARED_PATH=$(dirname $(dirname $(realpath $0)))
# separating the software_name from path
SOFTWARE_NAME=$(basename $SHARED_PATH)
# target location to copy project
LOCAL_SOFTWARE_FOLDER='/node_folder'
# corrected path for target
LOCAL_PATH=$LOCAL_SOFTWARE_FOLDER/$SOFTWARE_NAME

# Copying software folder from network storage to local
cp -r $SHARED_PATH $LOCAL_SOFTWARE_FOLDER
# running the …
Run Code Online (Sandbox Code Playgroud)

variables bash path slurm

8
推荐指数
1
解决办法
2502
查看次数

youtube-dl:如何跳过播放列表中片段不可用的视频,但不中止播放列表下载?

我想使用 youtube-dl从youtube下载视频播放列表,以便进一步离线观看。有些视频有不可用的片段(但由于某种原因,通过浏览器观看时没有问题)。我想下载播放列表,但跳过缺少片段的视频。

我原来的运行是:

youtube-dl -if bestvideo+bestaudio PLEsfXFp6DpzTD1BD1aWNxS2Ep06vIkaeW
Run Code Online (Sandbox Code Playgroud)

但它在丢失片段的视频中“冻结”。

后来,在文档中我找到了这个选项选项 --abort-on-unavailable-fragment

但是下面的命令只是中止,当尝试下载片段需要 10 次重试时。

youtube-dl --abort-on-unavailable-fragment -if bestvideo+bestaudio PLEsfXFp6DpzTD1BD1aWNxS2Ep06vIkaeW
Run Code Online (Sandbox Code Playgroud)

我也找到了 parameter --skip-unavailable-fragments,但它只是跳过了不可用的片段并继续下载下一个片段。合并后会导致视频出现故障。

youtube-dl --skip-unavailable-fragments -if bestvideo+bestaudio PLEsfXFp6DpzTD1BD1aWNxS2Ep06vIkaeW
Run Code Online (Sandbox Code Playgroud)

是否有任何选项/参数可以下载整个播放列表,但是一旦有丢失片段的视频:跳过该视频并切换到播放列表中的下一个视频?

playlist youtube-dl

5
推荐指数
2
解决办法
7993
查看次数

标签 统计

bash ×1

path ×1

playlist ×1

slurm ×1

variables ×1

youtube-dl ×1