linux系统中,我们设置计划任务,大多数时间使用的都是cron 来设置,但是 cron 的设置主要用于定期重复运行的作业,如设置为每天、每周或每月运行一次,或者是每隔多少时间执行一次等;如果要想设置指定时间运行一次,以后不再运行的计划任务,用corn来设置,就比较麻烦了,这种情况下我们可以选择at命令来设置这种只需要在指定时间执行一次的计划任务。
at命令格式及帮助信息:
命令格式:
$ at <指定的时间>
at> 要执行的命令或脚本
at> Ctrl+D
要注意的是,at设置完成后,一定要按Ctrl+D来结束。
at帮助信息:

下面,我们就以deepin系统为例,来看看at命令计划任务的具体设置,我们设置任务执行date命令,并把执行的结果输入到一个at_file的文件中。
由于deepin没有默认安装at命令,我们先安装:

完成后执行at命令,设置任务,执行date命令,并把执行的结果输入到at_file的文件中,方便我们查看效果:

从图中可以看到,在15:07:00时按计划执行了date命令,并将结果输入到了at_file文件中。
在我们at命令设置完任务按Ctrl+D后(屏幕显示的<EOT>),会显示本次设置的任务作业编号及任务执行时间。
除了上图中直接设置时间,我们还可以指定任务的年月日:如下图设置2020年4月20日中午12:00执行date命令

设置好后,我们可以通过atq命令来查看未执行的任务:

注意最后,是执行命令的用户身份,如果你要计划执行的命名必须用root权限执行,可以通过sudo来实现,如下图:

root权限设置的任务,需要root权限才能查看:

从图中可以看到任务7和任务8执行命令的用户身份的区别。
要删除一条计划任务,可以用‘atrm <作业编号>' :

总结:当你安排一项重复执行任务时,corn是很好的选择,当你安排一项一次性任务时,at
命令是最易于使用的。
未经允许不得转载:天府数据港官方信息博客 » deepin at命令设置计划任务
客官点个赞呗! (0)