Introduction
If you have run UNIX twenty or thirty, heck maybe even forty years ago, you might remember
rwho
, and ruptime
. If you don't, feel free to continue reading and learn about some pretty
efficient utility that was not only trying to look good. Helpful in areas like network management by display the status
of remote machines, it helps identify any potential issues or connectivity problems, providing a quick overview of which
machines need attention. Also automation, being just a pair of shell scripts, it can be used to receive regular updates and
alerts regarding many things of critical systems.
This article mostly is addressed to Linux administrators (but macOS as well, or FreeBSD), but it could as well be interesting for other people.
TLDR
Tell me more
It's more useful, the more computers you have. And pointless without network, or internet. So if you are ever confronted with questions like:
- How many computers do we have?
- Which are offline?
- What OS/release are they running?
- Do they need a reboot, because a new kernel was installed on it for some security fix?
- How old are our computers?
- Which computers are used least? Some call it "Screen Time".
- How is the usage of our computers?
- How much disk space do we have on all computers?
- How many packages are managed/installed on them, using what package managers?
- Will it be bloody if we reboot some?
- How much cpu cores, and memory do we have?
- What are the fastest computers?
- What are their network link speeds?
- Do we have to maintain a list of hosts manually?
- Which users are using which hosts?
- Can we run some command on some hosts really fast (alot faster than you can type ansible-playbook)?
- Users keep us asking which host they can use, can we delegate the question to them?
Fear not. We have an answer now(tm).
But why?
Mainly because I like simple systems, and consistency. You might want to read about the Lindy effect.
The logo reminds me of... Indeed, it was a genious one, and still is. Enjoy figuring this one out yourself. Or don't, as some say
Some can feel the rain, others just get wet.
So back to the original ruptime (rwhod, rwho, ruptime) which used broadcast on UDP/513 and was cleartext over the network, and limited to that one network.
Differences to this new ruptime
are
- server/client model
- not considering IPv6 currently
- symmetric encryption of data transfer
- not implemented in C, but very little lines of bash script
- possible to also run on macOS (with some effort)
So how do you run this?
My personal recommendation is, in your favourite terminal with the Agave font, if you have low resolution you can also try a really small font, like Atari 800. And if you want to look funny, try cool-retro-term.
How can I help?
You like it? Star it on https://github.com/alexmyczko/ruptime
If you liked ruptime
you might as well like this bunch of shell scripts
I hope you enjoyed the read, and wish you a sunny day.
How did you create this document?
grip ruptime.md --title ' ' --wide --export ruptime.html
sed -i '9i a, :visited, :link { color: red; }' ruptime.html