Crontab 执行周期性任务

 金诚   2018-05-08 12:53   94 人阅读  0 条评论

Crontab介绍

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

语法

选项可选的值:

-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。

参数可选的值

crontab文件:指定包含待执行任务的crontab文件

任务的分类

Linux下的任务调度分为两类:系统任务调度和用户任务调度。

系统任务调度

  1. 定义:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

用户任务调度

  1. 定义:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron目录中。其文件名与用户名一致,使用者权限文件如下:

/etc/cron.deny 该文件中所列用户不允许使用crontab命令
/etc/cron.allow 该文件中所列用户允许使用crontab命令
/var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名

crontab文件

Crontab文件的作用:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute hour day month week command 顺序:分 时 日 月

其中,每个参数的值域如下:

在以上各个字段中,还可以使用以下特殊字符:

示例

  1. 每分钟执行一次command脚本

  1. 每3分钟,15分钟执行一次command脚本

  1. 每周一的8点至11点之间,的每3分钟,15分钟执行一次command脚本

crond服务指令

查看crontab服务状态:

手动启动crontab服务:

查看crontab服务是否已设置为开机启动,执行命令:

加入开机自动启动:

参考

  1. crontab指令文档
本文地址:http://www.yangchaofan.cn/archives/552
版权声明:本文为原创文章,版权归 金诚 所有,欢迎分享本文,转载请保留出处!

说点什么

avatar
  Subscribe  
提醒