Commit Graph

6 Commits

Author SHA1 Message Date
Frédéric Péters 8cff0bc39e eoptasks: add option to exclude keywords
eoptasks -k node1,node2,-database will give all node1/node2 servers
except database.node1 and database.node2.
2018-12-12 19:53:35 +01:00
Frédéric Péters c7e9a8ce77 eoptasks: add flag to list selected servers 2018-12-12 18:52:31 +01:00
Frédéric Péters 969f9277be eoptasks: add configuration file/do not hardcode my path 2018-12-12 08:28:44 +01:00
Frédéric Péters 7e808fb2ae eoptasks: randomize servers 2018-12-10 16:30:56 +01:00
Frédéric Péters ac4fda99be eoptasks: add collectstatic command 2018-12-09 15:18:37 +01:00
Frédéric Péters 18d50be4a8 add new script to run commands on servers
This script provides parallel remote execution of commands, while having
some special knownledge of servers that should *not* be handled in parallel.

It defers terminal-handling to tmux(1).

It has some targeting capacities using keywords. Commas for 'OR' and slashes
for 'AND', ex: ext/test,saas/test/passerelle will select all external test
servers + all passerelle servers on the SaaS.

It takes any shell command and has some builtin shortcuts such as apt.update
and apt.upgrade. (that's the whole lot, actually).

Regarding actual performance benefits, apt upgrade with no packages to
upgrade:

 $ time eoptasks -k ext/test apt.upgrade
real    0m24,249s
user    0m0,140s
sys     0m0,025s

 $ time eotasks -g ext_test apt.upgrade
real    6m9,956s
user    3m32,096s
sys     0m2,322s
2018-12-09 14:12:56 +01:00