Scheduling with "at"
This week's tip shows you how to schedule events in Gentoo Linux with the at command. While cron is the more common scheduling utility in Gentoo Linux, at is useful for scheduling one-time events, or simply setting a task to run at some date/time in the future.
Code listing 8.1: Getting at
# emerge sys-apps/at
Now that at is installed, the daemon must be started so that scheduled jobs can be run.
Code listing 8.2: Starting atd
# /etc/init.d/atd start
* Starting atd... [ ok ]
Now you can start using at.
Note: For security you may need to edit /etc/at/at.allow and /etc/at/at.deny. See the manpage for more information on securing at.
Code listing 8.3: Using at
Set XMMS to play wakeup.ogg at 6am tomorrow morning
% at 6am tomorrow
at> xmms ~/music/wakeup.ogg
at> <Ctrl-D>
job 6 at 2003-10-31 06:00
At 11:30 pm today, start an install of mozilla
% at 11:30 pm today
at> emerge update mozilla
at> <Ctrl-D>
job 7 at 2003-10-30 23:30
Now there are two jobs scheduled which will be run 'at' the specified times. To view a list of jobs you've scheduled, use atq. If you decide you don't want a job to run, you can can use the atrm command.
Code listing 8.4: Removing a previously scheduled job
Remove the 'emerge' job we scheduled for 11:30pm
% atq
6 2003-10-31 06:00 a david
7 2003-10-30 23:30 a david
% atrm 7
% atq
6 2003-10-31 06:00 a david
For more information use man 1 at.