How to Use ‘at’ Command to Schedule a Task on Given or Later Time in Linux
As an alternative to cron job scheduler, the
at command allows you to schedule a command to run once at a given time without editing a configuration file.
The only requirement consists of installing this utility and starting and enabling its execution:
# yum install at [on CentOS based systems] $ sudo apt-get install at [on Debian and derivatives]
Next, start and enable the at service at the boot time.
--------- On SystemD --------- # systemctl start atd # systemctl enable atd --------- On SysVinit --------- # service atd start # chkconfig --level 35 atd on
atd is running, you can schedule any command or task as follows. We want to send 4 ping probes to
www.google.com when the next minute starts (i.e. if it’s 22:20:13, the command will be executed at 22:21:00) and report the result through an email (
-m, requires Postfix or equivalent) to the user invoking the command:
# echo "ping -c 4 www.google.com" | at -m now + 1 minute
If you choose to not use the
-m option, the command will be executed but nothing will be printed to standard output. You can, however, choose to redirect the output to a file instead.
In addition, please note that
at not only allows the following fixed times: now, noon (12:00), and midnight (00:00), but also custom 2-digit (representing hours) and 4-digit times (hours and minutes).
updatedb at 11 pm today (or tomorrow if the current date is greater than 11 pm), do:
# echo "updatedb" | at -m 23
To shutdown the system at 23:55 today (same criteria as in the previous example applies):
# echo "shutdown -h now" | at -m 23:55
You can also delay the execution by minutes, hours, days, weeks, months, or years using the
+ sign and the desired time specification as in the first example.
Time specifications are subject to the POSIX standard.
As a rule of thumb, use at instead of cron job scheduler whenever you want to run a command or execute a given task at a well-defined time only once. For other scenarios, use cron.
Next, we shall cover how to encrypt tar archive files using openssl, till then stay connected to Tecmint.