$ yes | head -n10 | sed 's/.*/localhost/g' > server.list
$ xargs -P0 -t -a server.list -I% ssh % "vmstat 1 2|tail -1"
ssh localhost vmstat 1 2|tail -1
ssh localhost vmstat 1 2|tail -1
ssh localhost vmstat 1 2|tail -1
ssh localhost vmstat 1 2|tail -1
ssh localhost vmstat 1 2|tail -1
ssh localhost vmstat 1 2|tail -1
ssh localhost vmstat 1 2|tail -1
ssh localhost vmstat 1 2|tail -1
ssh localhost vmstat 1 2|tail -1
ssh localhost vmstat 1 2|tail -1
2 0 401076 84588 24092 412008 0 0 0 100 7011 16057 8 5 87 0
2 0 401076 86820 24092 412008 0 0 0 100 7045 15172 8 4 89 0
4 0 401076 86820 24092 412008 0 0 0 100 7048 15185 8 4 89 0
2 0 401076 91936 24092 412008 0 0 0 100 7122 14943 8 3 89 0
4 0 401076 93280 24092 412008 0 0 0 100 7230 14676 8 3 89 0
5 0 401076 93280 24092 412008 0 0 0 100 7228 14680 8 3 90 0
5 0 401076 98052 24092 412008 0 0 0 100 7231 14522 8 2 90 0
2 0 401076 100712 24092 412008 0 0 0 100 7283 14499 8 2 90 0
3 0 401076 103272 24092 412008 0 0 0 100 7398 14547 8 2 90 0
3 0 401076 106156 24092 412008 0 0 0 100 7480 14606 7 3 90 0
--max-procs=max-procs
-P max-procs
Run up to max-procs processes at a time; the default is 1. If max-procs is 0, xargs will run as many
processes as possible at a time. Use the -n option with -P; otherwise chances are that only one exec
will be done.
ssh loc
alhost vmstat 1 2|tail -1
の部分。別になくてもいいけど確認したいとき便利。
find .. | xargs
だとfindの結果をSTDINから受け取って処理するけど、-a fileオプションはfileの内容を受け取って処理する。
ssh %
はssh localhost
に展開される。