DEV Community

Cover image for Fleet of many Computers
Alex Myczko
Alex Myczko

Posted on

Fleet of many Computers

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

R'UPTIME"

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.

Top comments (0)