Linux 定时任务


因为工作中经常需要执行一些重复任务,因此写了一些偷懒的执行脚本,但是需要定时去执行,这里就用到了crontab 。
好了,废话不多说,直接进入正题!

corntab详细说明

crontab文件的基本格式如下所示

* * * * * command
分 时 天 月 周 命令

通过 crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script 脚本。时间间隔的单位可以是分钟、小时、日、月、周的任意组合。

crontab中的每一行代表一个定期执行的任务,分为6个部分。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。

前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:

  • 分钟: 0-59
  • 小时: 0-23
  • 天:1-31
  • 月: 1-12
  • 星期: 0-6, 0表示星期天
  • *(星号): 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
  • ,(逗号): 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
  • /(斜线):  一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 /2 代表每隔两分钟。所以 /1 和 * 没有区别

crontab例子

每天的20:30将日期信息追加home目录下的date.log中

30 20 * * * date >> /home/date.log

每月的13日,14日20:5分将日期信息最追加home目录下的date.log中

5 20 13,14 * * date >> /home/date.log

每天10点至12点之间,隔10分钟将日期信息最追加home目录下的date.log中

0,10 10,12 * * * date >> /home/date.log

每5分钟将日期信息最追加home目录下的date.log中

*/5  * * * date >> /home/date.log

crontab常用的几个命令格式

  • 显示用户的crontab文件的内容
crontab -l

  • 编辑用户的crontab文件的内容,新增、修改和删除定时执行脚本
crontab -e
  • 删除用户的crontab文件
crontab -r

注意:这个命令会删除所有定时计划,如果只是想删除某个定时计划,可以使用命令 crontab -e

 




评论

支持上传图片(拖动图片或者截图粘贴)

0 评论