使用 qmove 将一系列作业移动到另一个队列

Move a range of jobs to another queue with qmove

我在集群上安排了几个(空闲的)作业,我想将它们移动到另一个队列。

我可以像这样移动单个作业(其中 1234 是作业 ID):

qmove newQueue 1234

但现在我有数百个作业要移至 newQueue。是否可以将它们全部移动?使用 * 作为通配符不起作用。

如果作业 ID 是按顺序排列的,您可以使用 Bash 的 大括号扩展 。例如:

$ echo {0..9}
0 1 2 3 4 5 6 7 8 9

转移到移动从 1000 到 2000 的所有作业,qmove 命令将是:

qmove newQueue {1000..2000}

即使存在不允许您移动的工作 ID(来自其他用户或处于 运行 状态),这 可能 也能工作。他们应该被简单地忽略。 (未测试)