Se você quiser apenas 3, isso funcionará (versão > = 20161222 para --results my.csv
funcionar):
parallel --results my.csv ssh {1} script.sh {2} {3} ::: instance-a instance-b instance-c :::+ a s y :::+ b t z
Mas deixe-me adivinhar: você tem muitas mais instâncias listadas em um arquivo chamado hosts.txt
:
instance-a
instance-b
instance-c
Você não se importa com qual instância executa quais tarefas - elas são apenas funcionários. Você tem um arquivo .tsv como input.tsv
:
a[tab]b
s[tab]t
y[tab]z
Então você executaria:
parallel --slf hosts.txt --results my.csv -a input.tsv --colsep '\t' script.sh
Se o seu comando devolver 0
no sucesso, você pode até rodar em servidores baratos do mercado spot: Usando --retries 5
, você pode pedir ao GNU Parallel para refazer o trabalho em outro servidor se um servidor quebrar (isto é, retorna não 0
).