Introduction
First we need to know everyone does the same specific task everyday manually and that may waste a lot of time especially when we have important tasks or your day was busy with a lot of other tasks .. but we bring the best solution that will save a lot of time to do other important things.
So Let’s Start with (at): so at is a command on Linux used to execute command in a particular time once
How to install at ?
Install at on Debian(Ubuntu\Kali):
Before everything, update your system, and therefore use this command.
apt-get update && apt-get upgrade
The second thing, install the at package
sudo apt install at -y
You can check it working well when the daemon is running by writing this command on the terminal and ensure that the atd.service is active (running)
sudo systemctl status atd.service
If the atd.service is disabled or inactive write this two commands on terminal
sudo systemctl enable atd.service
sudo systemctl start atd.service
Install at on Centos\Redhat\Fedora:
sudo yum install at -y
How to use it ?
Only users with administrative privileges can use at command
You can control who can create jobs using at by allowing specific users or denying others
- Open your terminal
- Write command :
vi /etc/at.deny
- And write the user that you will prevent it to create jobs using at
- To allow specific user write the following
vi /etc/at.allow
- Add user that you will allow it creating the jobs using at
Hint : maybe you can’t find the file (at.allow) .. you can create it first and add users on it
You can use it simply by executing simple tasks in a particular time.
Open your terminal and write this command
at <time you want to execute task>
Write the command that you want to execute.
After finishing press Ctrl + D >> to save the job and exit
I executed an archiving task for two files at a specific time .
You can execute tasks in the script file as shown below.
at <time> -f <Script File>
You can edit the time formatting with the following forms
at Friday +30 minutes | coming Friday at a time 30 minutes later than the current time |
at 4am + 3 days | at 4 pm 3 days from now |
at 13:00 080521 | at 13:00 AUG 05 2021 |
To check the list of all tasks will be executed by at :
Open the terminal and write the following commands
atq or at -l
To remove one of this task: write the command
atrm < the number of task >
Conclusion:
Finally, the at utility reads commands from standard input and executes them at a particular time
So for more information about all available options of the at command type in your terminal
man at