shell 使用AWS CLI停止所有ECS群集任务

4dbbbstv  于 2023-01-21  发布在  Shell
关注(0)|答案(1)|浏览(193)

自我解答:如何使用单个cli命令停止群集上的所有任务,并轻松允许传递额外参数。

qni6mghb

qni6mghb1#

以下将:
1.获取集群中的所有任务
1.使用jq选择任务arns,-r删除json值中的引号。
1.使用xargs将每个arn传递到下一个命令,值将附加到命令(在--task之后)。n-1仅确保每个arn有一个命令,不确定是否需要。
aws ecs list-tasks --cluster "$ecs_cluster" | jq -r ".taskArns[]" | xargs -n1 aws ecs stop-task --no-cli-pager --cluster "$ecs_cluster" --task
--no-cli-pager防止stop-task的输出在每次执行后停滞。
欢迎任何优化。我看到了awk的另一个解决方案,但发现很难使用传递额外的参数到第二个命令。

相关问题