Bee AntJared's Blog

FE前端

BE后端

DB数据库

OPS运维

Snippet代码片段

Note笔记

I'm also on

GitHubIf you code

MailIf you talk

RSSIf you subscribe

About.meIf you recommend

Linux crontab使用说明


crontab是用来定期自动执行脚本的命令

常用参数

  • crontab -l列出所有定期自动执行的任务
  • crontab -e编辑所有定期自动执行的任务

任务格式

执行周期 脚本路径 日志输出

例如:

*/5 * * * * /usr/local/agenttools/agent/check_tmp_agent.sh >/dev/null 2>&1

执行周期

*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- week (0 - 6) (sunday 0)
|    |    |    +---------- month (1 - 12) 
|    |    +--------------- day (1 - 31)
|    +-------------------- hour (0 - 23)
+------------------------- minute (0 - 59)

除了具体数值之外,可能会用到的特殊字符:

  • *:取任意可能的值
  • ,:指定一个列表的取值,例如,10,12,14,20
  • -:指定一个范围的取值,例如,12-14
  • /:指定步长的取值,也就是时间间隔频率,例如,*/30如果写在minute字段,表示每30分钟执行一次

脚本路径

脚本的绝对路径。

/usr/local/agenttools/agent/check_tmp_agent.sh

日志输出

>/dev/null 2>&1
  • /dev/null代表设备空文件
  • 标准输入stdin的文件描述符为0
  • 标准输出stdout的文件描述符为1
  • 标准错误stderr的文件描述符为2

不输出日志

> /dev/null 2>&1

标准输出日志

> /tmp/out.log

1> /tmp/out.log

标准错误日志

2> /tmp/err.log

标准输出+标准错误日志

> /tmp/total.log 2>&1