While working on Linux systems we preferred crontab for scheduling jobs generally. There are another utility
- Read This => Schedule recurring tasks with crontab on Linux
At command can be useful for shutdown system at the specified time, Taking a one-time backup, sending email as a reminder at the specified time etc. This article will help you to understand the working of at command with useful examples.
Commands used with at:
- at : execute commands at specified time.
- atq : lists the pending jobs of users.
- atrm : delete jobs by their job number.
1. Schedule first job using at command
Below example will schedule “sh backup.sh” command to be executed on next 9:00 AM once.
at 9:00 AM at> sh backup.sh at> ^d job 3 at 2013-03-23 09:00
Use ^d to exit from at prompt.
You can also use the following option to schedule a job. The below command will run “sh backup.sh” at 9:00 in the morning.
echo "sh backup.sh" | at 9:00 AM
2. List the scheduled jobs using atq
When we list jobs by root account using
atq, it shows all users jobs in the result. But if we execute it from a non-root account, it will show only that users jobs.
atq 3 2013-03-23 09:00 a root 5 2013-03-23 10:00 a rahul 1 2013-03-23 12:00 a root
First filed: job id
Second filed: Job execution date
third filed: Job execution time
Last field: User name, under which job is scheduled.
3. Remove scheduled job using atrm
You can remove any at job using
atrm with their job id.
atrm 3 atq 5 2013-03-23 10:00 a rahul 1 2013-03-23 12:00 a root
4. Check the content of scheduled at job
atq command only shows the list of jobs but if you want to check what script/commands are scheduled with that task, below example will help you.
at -c 5
In the above example, 5 is the job id.
Examples of at Command:
Example 1: Schedule task at coming 10:00 AM.
# at 10:00 AM
Example 2: Schedule task at 10:00 AM on coming Sunday.
at 10:00 AM Sun
Example 3: Schedule task at 10:00 AM on coming 25’th July.
at 10:00 AM July 25
Example 4: Schedule task at 10:00 AM on coming 22’nd June 2015.
at 10:00 AM 6/22/2015 at 10:00 AM 6.22.2015
Example 5: Schedule task at 10:00 AM on the same date at next month.
at 10:00 AM next month
Example 6: Schedule task at 10:00 AM tomorrow.
at 10:00 AM tomorrow
Example 7: Schedule task at 10:00 AM tomorrow.
at 10:00 AM tomorrow
Example 8: Schedule task to execute just after 1 hour.
at now + 1 hour
Example 9: Schedule task to execute just after 30 minutes.
at now + 30 minutes
Example 10: Schedule task to execute just after 1 and 2 weeks.
at now + 1 week at now + 2 weeks
Example 11: Schedule task to execute just after 1 and 2 years.
at now + 1 year at now + 2 years
Example 12: Schedule task to execute at midnight.
The above job will execute on next 12:00 AM
Thanks for reading this article, I hope you will understand how to use ‘at’ command in Linux.