Linux crontab使用说明

610 阅读1分钟

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