当你开始使用脚本时,可能会想要在某个预设时间运行脚本。 Linux系统提供了多个在预选时间运行脚本的方法:at命令和cron表,来安排脚本的运行时间和频率。shell
一.用at命令来计划执行做业url
at命令容许指定Linux系统什么时候运行脚本。at命令会将做业提交到队列中,指定shell什么时候运 行该做业。at的守护进程会之后台模式运行,检查做业队列来运行做业。blog
at命令的基本格式很是简单:at [-f filename] time队列
默认状况下,at命令会将STDIN的输入放到队列中。你能够用-f参数来指定用于读取命令(脚本文件)的文件名。进程
time参数指定了Linux系统什么时候运行该做业。若是你指定的时间已经错过,at命令会在次日的那个时间运行指定的做业。crontab
在如何指定时间这个问题上,你能够很是灵活。at命令能识别多种不一样的时间格式。test
输出:后台
atq命令能够查看系统中有哪些做业在等待,做业列表中显示了做业号、系统运行该做业的日期和时间及其所在的做业队列。bfc
一旦知道了哪些做业在做业队列中等待,就能用atrm命令来删除等待中的做业。配置
只要指定想要删除的做业号就好了。只能删除你提交的做业,不能删除其余人的。
二. cron时间表
Linux系统使用cron程序来安排要按期执行的做业。cron程序会在后台运行并检查一个特殊的 表(被称做cron时间表),以获知已安排执行的做业。
cron时间表采用一种特别的格式来指定做业什么时候运行。
其格式以下:min hour dayofmonth month dayofweek command
cron时间表容许你用特定值、取值范围(好比1~5)或者是通配符(星号)来指定条目
在crontest.cron中编写如下:
加入定时任务中:crontab /root/shellleaner/crontest.cron
每一个系统用户(包括root用户)均可以用本身的cron时间表来运行安排好的任务。Linux提供 了crontab命令来处理cron时间表。要列出已有的cron时间表,能够用-l选项:crontab -l
若是你建立的脚本对精确的执行时间要求不高,用预配置的cron脚本目录会更方便。有4个 基本目录:hourly、daily、monthly和weekly。
所以,若是脚本须要天天运行一次,只要将脚本复制到daily目录,cron就会天天执行它。
有什么讨论的内容,能够加我公众号: