As @ The.Anti.9 noted, such a question is suitable for Serverfault. To answer your question, crontab is a bit more powerful than "at" and gives you more flexibility since you can run the task repeatedly, for example, daily, weekly, monthly.
For example, for your example, if you need to run the script every day at 18:30, you will do this,
$ crontab -e
then add the following
30 18 * * * /path/to/your/script.sh
save, and you're done.
Note: 30 18 indicates the time is 18:30, and * s indicates that it should start every day of every month). If you need to run it on a specific day of the month, just check it on the crontab man page,
Kibet yegon
source share