在手机中,咱们经常使用备忘录或者是闹钟等来提醒咱们该作什么事情了,在Linux操做系统中,也有相似的操做。spa
在Linux中除了用户即时执行的命令操做之外,还能够配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如按期备份、按期采集监测数据)。RHEL6系统中默认已安装了at、cronie软件操作系统
包,经过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,并分别经过at、crontab命令进行计划任务设置。命令行
at的适用前提是at程序已经安装并运行atd服务(atd服务是Linux下一次性定时计划任务命令的守候进程)rest
若是没有安装at程序则须要首先安装at程序—— yum install at -yblog
若是没有运行atd服务则需启动atd服务—— systemctl restart atd;查看是否成功启动atd服务能够用命令 ps aux | grep atd 来抓取atd进程信息,以下图所示即为成功。进程
接下来万事俱备,咱们即可以调用at程序来设置咱们的一次性计划任务了crontab
at的格式是 ——at H:M Y-m-d (H/M:小时/分钟 Y/m/d:年/月/日)特别注意at的时间格式,如果不加上后面的年月日便自动表示为今天,则为12小时制,上午要在时间后标明am(上午)或pm(下午)。rem
打出命令后,会弹出可供输入的命令行,在里面输入想要执行的操做后,摁 Ctrl + d 保存it
设置完能够用—— at -l 或者 atq 来查看已设置的计划软件
当咱们不想要这个计划后,能够输入 atrm i 来进行删除操做(i表明计划任务的编号,每一个任务都会在行首 标明编号,能够利用at -l 或atq来查看)。 值得注意的是删除任务后编号不会归零而是继续向下顺位。
相比于一次性计划任务,crontab能够屡次的执行计划,能够在固定的某月某周某天某时某分来执行,也能够设置为每通过多长时间便执行一次
它的语法为—— crontab -u -e
-l:list,列出指定用户的计划任务列表——查看命令
-e:edit,编辑指定用户的计划任务列表
-u:user,指定的用户名,若是不指定,则表示当前用户
-r:remove,删除指定用户的计划任务列表
在进入 -e 编辑模式后,已行为单位,每一行就是一个计划,须要执行的命令要写成绝对路径的格式,
* 表明取值范围里的每个数字,拿第一个举例子,若是第一位是 * 则表明每一分钟都会执行一次该命令
- 表明取值范围,例如 在 10点到12点之间就能够在第二个 * 设置为 10-12 便可
/ 表明每多少个,例如想要每10分钟执行一次,可在分的位置设置 */10
, 表明多个数值,例如想在1,2,6点执行,即可在时的位置设置为 1,2,6
咱们想要删除刚刚编写的计划,用——crontab -r就能够进行所有删除注意这个命令是所有删除,可是有时候咱们建立了多条计划想进行批量删除能够进入编辑模式,而后在不想要的计划前面加上#(其实就是把这一行注释掉啦)