Hot For Coding
Linux crontab容易犯错的地方

Linux的crontab是非常好用的一个计划任务,最小颗粒度是分钟,最近使用crontab的时候发现服务器负载居然到达了七八十

[root@test01 ~]# uptime
 16:16:05 up 149 days,  5:17,  1 user,  load average: 75.00, 79.01, 87.05

高的吓人,通过top命令看了一下,发现我添加进crontab的脚本居然执行了无数个

怎么回事?

crontab格式

m h dom mon dow command

  • m: 分钟,0-59
  • h: 小时,0-23
  • dom: 日期,1-31
  • mon: 月份,1-12
  • dow: 星期,0-6,0为星期天
  • command: 命令

后来排查,发现是crontab写法不严谨导致

crontab -l
* */6 * * * script.sh

以上是每6个小时的每一分钟执行一次

0 */6 * * * script.sh

以上是每6个小时的第0钟执行一次

而我实际上要做的事就是每6个小时执行一次,所以分钟第地方要写成0,否则每分钟执行一次,难怪服务器负载那么高。。。

TITLE: Linux crontab容易犯错的地方

LINK: https://www.qttc.net/331_linux_crontab_common_error.html

NOTE: 转载内容请注明出处