at
Roughly every week I learn something that it seems like everyone who's been
using Linux for any decent period of time seems to already know, so I'm gonna
start writing them down as I discover them. In today's episode, I learned about
at
, which really tickles the part of me that likes things that just do what
they say they do.
echo notify-send "get coffee" | at 4pm
at
is kind of like cron
except designed for more isolated tasks. It relies
on a running daemon called atd
, so if you install at
through your package
manager make sure to do a systemctl enable atd --now
or equivalent. You can
then start chucking it jobs.
This works great remotely - if you want to have a server restart after
everyone's gone home from work, you could do a ssh <machine> 'echo reboot | at 10pm'
assuming you have at
installed everywhere. I found out about this
from its use at GitLab to simultaneously restart a service
on a fleet of machines - you can read about that
here.
According to the manpage you can do some even
cleverer things - you can give it times like at 4pm + 3 days
, words like at next friday
, or use the batch
command to have things run once the system is
below a certain load level, great for things like make -j
that would otherwise
bring a system to a grinding halt.
You can also customise /etc/at.allow
and /etc/at.deny
to allow/deny certain
users from using at
.
So, that's at
. I didn't know about it until I read that GitLab blog, and now
I'm gonna use it because it's useful. I'll echo see you | at next time
.