系统管理命令crontab

系统管理命令crontab

crontab命令被用来提交和管理用户周期性自动执行的任务,系统启动时会自动启动crond进程,crond进程每分钟会自动检查是否有要执行的任务,有自动执行任务。

语法

crondtab(选项)(参数)

选项

  • -e编辑该登录用户定时任务
  • -l列出该登录用户定时任务
  • -r删除该登录用户定时任务
  • -u<用户名>编辑指定用户定时任务

参数

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

crontab相关概念解释

Linux下定时任务分为两种:分别为系统任务调度和用户任务调度

系统任务调度:系统周期性所要执行的工作,比如缓存数据写入磁盘,日志清理等。通常是/etc/crontab文件。

用户任务调度:用户周期性所要执行的工作,比如请求耗时任务,用户数据备份等。通常在/var/spool/cron目录中。

crond服务:

$ /etc/init.d/cron status //查看服务状态
$ /etc/init.d/cron start //启动服务
$ /etc/init.d/cron stop //关闭服务
$ /etc/init.d/cron restart //重启服务
$ /etc/init.d/cron reload //平滑重启(重新载入配置)

实例

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

//每1分钟执行一次command
* * * * * command
//每小时的第3和第15分钟执行
3,15 * * * * command
//在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * command
//每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * command
//每个星期一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 command
//每晚的21:30平滑重启PHP
30 21 * * * /etc/init.d/php reload
每月1、10、22日的4 : 45重启php
45 4 1,10,22 * * /etc/init.d/php restart

解释:

  • minute: 表示分钟,可以是从0到59之间的任何整数。

  • hour:表示小时,可以是从0到23之间的任何整数。

  • day:表示日期,可以是从1到31之间的任何整数。

  • month:表示月份,可以是从1到12之间的任何整数。

  • week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

  • command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

  • 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

  • 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

  • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

  • 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

转载于:https://my.oschina.net/u/2292141/blog/1831397

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101604.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号