powerman(1)
π powerman β power on/off nodes π
okay bestie, gather round, because we're talking about powerman(1), aka pm, and honestly? it's giving infrastructure queen π
β¨ SYNOPSIS β¨
pm [OPTIONS] [ACTION [TARGETS ...]]
like. that's it. that's the whole vibe. options, then an action, then who you're doing it to. slay π
πΈ DESCRIPTION πΈ
so powerman does power management in a data center or compute cluster environment. think: turning stuff on, turning stuff off, power cycling β all of it done remotely through power controller devices, because nobody is walking to a rack in 2026, no cap. π«Ά
here's the cute part: target hostnames get mapped to plugs on devices in powerman.conf(5). so you say "foo01" and powerman is like "say less, that's plug 3 on rack 12." iconic behavior fr fr.
π ACTIONS π
these are the things you can do. pick one, bestie, and go off.
-1,--onβ Power ON targets. wake up babes, we're computing β‘-0,--offβ Power OFF targets. night night π΄-c,--cycleβ Power cycle targets. the classic "have you tried turning it off and on again" but automated π«-q,--queryβ Query plug status of targets, if specified, or all targets if not. and listen: status is not cached. every single time you use this option,powermandgoes and queries the appropriate devices. fresh info only, we don't do leftovers π ββοΈ Targets connected to devices that could not be contacted (e.g. due to network failure) or had some other type of error or are reported as status"unknown". If possible, output will be compressed into host ranges. cute AND efficient.-l,--listβ List available targets. If possible, output will be compressed into a host range (peep TARGET SPECIFICATION below π).-r,--resetβ Assert hardware reset for targets. hard reset energy, no soft launch π₯-f,--flashβ Turn beacon ON for targets. the light goes on so you can physically find the thing. main character spotlight behavior π¦-u,--unflashβ Turn beacon OFF for targets. spotlight off, we're done here β¨-B,--beaconβ Query beacon status of targets, if specified, or all targets if not. "is the little light on or not" β the question π‘-t,--tempβ Query node temperature of targets, if specified, or all targets if not. Temperature information is not interpreted by powerman and is reported as received from the device, on one line per target, prefixed by target name. we're just the messenger, we do not read the tea leaves π΅
π OPTIONS π
the little modifiers that make everything hit different.
-h,--server-host host[:port]β Connect to a powerman daemon on non-default host and optionally port. basically "bestie, they're over there" π-x,--exprangeβ Expand host ranges in query responses. no compression, give me every single name, i want the full list π-V,--versionβ Display the powerman version number and exit. quick lil flex π-L,--licenseβ Show powerman license information. the legal paperwork moment π-H,--helpβ Show command usage. when you forgot how anything works (real) π-g,--gendersβ Interpret targets as genders attributes rather than node names. Each attribute is expanded to the list of nodes that have that attribute, then those lists are combined to make a list of target node names. group-chat logic: "everyone in this category, you're up" π
π₯ TEST/DEBUG OPTIONS π₯
these ones are for the test environment or when you're debugging device scripts. nerd mode: activated π§ͺ
-T,--telemetryβ Causes device telemetry information to be displayed as commands are processed. Useful for debugging device scripts. it's like subtitles for what powerman is doing π-R,--retry-connect Nβ Retry connect to server up to N times with a100msdelay after each failure. persistent queen behavior, we try again π-d,--deviceβ Displays device status information for the device(s) that control the targets, if specified, or all devices if not. peek behind the curtain π«£
π¦ TARGET SPECIFICATION π¦
okay this is the part where people get confused, so let's lock in π
powerman target hostnames may be specified as comma separated or space separated hostnames or host ranges. Host ranges are of the general form: prefix[n-m,l-k,...], where n < m and l < k, etc.
β οΈ do NOT confuse this with regular expression character classes (also denoted by[]). For example,foo[19]does not representfoo1orfoo9β it represents a degenerate range:foo19. read that twice bestie, it's a trap π
This range syntax is meant only as a convenience on clusters with a prefixNN naming convention, and specification of ranges should not be considered necessary β the list foo1,foo9 could be specified as such, or by the range foo[1,9]. both are valid, we don't gatekeep π«Ά
Some examples of powerman targets follows:
Power on hosts bar,baz,foo01,foo02,...,foo05
powerman --on bar baz foo[01-05]
Power on hosts bar,foo7,foo9,foo10
powerman --on bar,foo[7,9-10]
Power on foo0,foo4,foo5
powerman --on foo[0,4-5]
As a reminder to the reader, some shells will interpret brackets ([ and ]) for pattern matching. Depending on your shell, it may be necessary to enclose ranged lists within quotes. For example, in tcsh, the last example above should be executed as:
powerman --on "foo[0,4-5]"
π¨ quote your brackets or your shell will eat them, and then powerman will be confused, and then you will be confused. protect your ranges π
π FILES π
/usr/bin/powerman/usr/bin/pm
π ORIGIN π
PowerMan was originally developed by Andrew Uselton on LLNL's Linux clusters. This software is open source and distributed under the terms of the GNU GPL. shoutout to the originator, absolute legend π
π SEE ALSO π
http://github.com/chaos/powerman
and that's the whole page, bestie π this was powerman-2.4.4, dated 1 December 2008 β old but still absolutely eating, no crumbs left. go power cycle something responsibly, ily πβ¨
π¦ where this page comes from
- debian trixie: powerman 2.4.4-4
- epel 10: powerman 2.4.4-1.el10_2 Β· GPLv2+
- epel 9: powerman 2.4.4-1.el9 Β· GPLv2+
- opensuse-leap 16.0: powerman 2.4.4-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: powerman 2.4.4-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: powerman 2.4.4-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: powerman 2.4.4-160000.2.2 Β· GPL-2.0-or-later
- ubuntu questing: powerman 2.4.4-5
- ubuntu resolute: powerman 2.4.4-5build1
- ubuntu stonking: powerman 2.4.4-5ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms