Sto eseguendo un lavoro su diversi server (fino a 25) usando GNU parallelo.GNU Parallelo - quale lavoro è fallito?
Lo script che implementa questo momento fa:
parallel --tag --nonall -S $some_list_of_servers "some_command"
state=$?
echo -n "RESULT: "
if [ "$state" -eq "0" ]
then
echo "All jobs successful"
else
echo "$state jobs failed"
fi
return $state
dove some_list_of_servers è un array, e install_command è, per esempio, git fetch.
Quello che voglio sono MOLTE informazioni più di quanti lavori hanno fallito. Voglio sapere quale comando, e quale server, non è riuscito.
Ho visitato la pagina man e google e SO ma non riesco a trovare gli switch che sto cercando.
Qualsiasi aiuto è gradito.
WeeDom
EDIT in risposta a Risposta 1:
ho provato questo, e qualcosa di strano sta accadendo.
[email protected]: ~/$ parallel --tag --nonall -j8 --joblog test.log -S host1,host2 uptime
host2 10:41:17 up 36 days, 20:45, 1 user, load average: 0.00, 0.00, 0.00
host1 10:41:17 up 22:34, 3 users, load average: 0.06, 0.11, 0.04
[email protected]: ~/$ cat test.log
Seq Host Starttime Runtime Send Receive Exitval Signal Command
1 host1 1403689277.067 0.519999980926514 0 0 0 0 uptime
Non importa quante host che aggiungo a -S, mi sembra di ottenere solo l'ultimo a completare in test.log
Ho una domanda di follow-up qui: GNU Parallel - --joblog only logging last job
solo in modo che sia rintracciabile, la ragione per cui ero ottenendo soltanto una riga di --job-log era che stavo usando una vecchia versione di parallelo che aveva un bug noto. Il problema è stato risolto aggiornando parallelo – WeeDom