计划作业是管理Linux服务器的重要组成部分。
我们之前看过如何使用cron命令在Linux机器上调度作业。这是cron的替代方法-在。
两者之间的主要区别在于,当您使用cron计划任务时,它会重复执行而无需重新计划。另一方面,任务调度仅用于单个执行。这两个命令都有其用途,我建议您对它们都有一个很好的了解。
让我们看一下如何使用at命令安排任务仅执行一次。首先,使用以下命令确保at守护程序正在运行:
# ps -ef | grep atd root 8231 1 0 18:10 ? 00:00:00 /usr/sbin/atd
如果看不到atd正在运行,请使用以下命令启动它:
# /etc/init.d/atd start
守护程序成功启动后,您可以使用两个选项-f(对于要执行的文件)和-v(对于应执行的时间)来调度at任务。因此,如果要shellscript.sh在晚上7:30执行shell脚本,则可以运行以下命令:
# at -fshellscript.sh-v 19:30
请记住,使用at命令,脚本shellscript.sh将在下午6:30执行,然后调度将消失。因此,如果这不是您想要的,那么最好使用cron。
at命令非常聪明,因为如果您愿意,它可以接受一些英语命令。例如,您也可以使用以下语法安排作业:
# at -fshellscript.sh10pm tomorrow # at -fshellscript.sh2:50 tuesday # at -fshellscript.sh6:00 july 11 # at -fshellscript.sh2:00 next week