cron - cron 作业每小时定期失败
问题描述
我阅读了大量关于 cron 的问答,但我无法理解我所面临的异常情况。我有一个运行 3 个 cronjobs 的 Raspberry Pi:
* * * * * /home/pi/heartbeatgenerator.sh 2>&1
*/5 * * * * /home/pi/extase2influx/extase2influx.sh 2>&1
*/5 * * * * /home/pi/ows2influx/ows2influx.sh 2>&1
第一个是一个简单的脚本,它通过 curl 调用每分钟将 0 或 1 交替写入数据库 (InfluxDB)。这个想法是检查 RPi 是否与数据库有定期连接并正常运行。它看起来像这样:
value=$(($( date +"%M")%2))
curl -i -XPOST "https://[REDACTED].influxcloud.net:8086/write?db=[REDACTED]&u=[REDACTED]&p=[REDACTED]&precision=s" \
--data "heartbeat $HOSTNAME=$value"
第二个脚本是查询一些传感器并将值发布到同一个数据库。第三个脚本与第二个脚本基本相同,但第一行有一个“sleep 10s”命令(以避免 CPU/网络使用率飙升)。
现在,除了第一个脚本(心跳)在第 8 分钟和第 9 分钟每小时定期失败之外,一切都运行良好。它失败意味着没有数据被发布到数据库中。这是数据库转储的一部分:
1/7/2019 1:05:06.000000000 PM,1
1/7/2019 1:06:01.000000000 PM,0
1/7/2019 1:07:01.000000000 PM,1
1/7/2019 1:10:01.000000000 PM,0
1/7/2019 1:11:01.000000000 PM,1
1/7/2019 1:12:02.000000000 PM,0
这是日志文件的一部分:
Jan 7 13:05:01 RPi CRON[6346]: (pi) CMD (/home/pi/ows2influx/ows2influx.sh 2>&1)
Jan 7 13:05:01 RPi CRON[6347]: (pi) CMD (/home/pi/extase2influx/extase2influx.sh 2>&1)
Jan 7 13:05:01 RPi CRON[6348]: (pi) CMD (/home/pi/heartbeatgenerator.sh 2>&1)
Jan 7 13:05:01 RPi CRON[6334]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:05:11 RPi pi: /home/pi/extase2influx/extase2influx.sh INFO: Database entry successfull. Written 1520 bytes
Jan 7 13:05:11 RPi CRON[6333]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:05:12 RPi pi: /home/pi/ows2influx/ows2influx.sh INFO-OWS: Database entry successfull. Written 1456 bytes
Jan 7 13:05:12 RPi CRON[6332]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:05:16 RPi dhcpcd[520]: wlan0: Router Advertisement from fe80::21d:aaff:feb0:8f20
Jan 7 13:05:20 RPi dhcpcd[520]: wlan0: Router Advertisement from fe80::21d:aaff:feb0:8f20
Jan 7 13:05:24 RPi dhcpcd[520]: wlan0: Router Advertisement from fe80::21d:aaff:feb0:8f20
Jan 7 13:06:01 RPi CRON[6566]: (pi) CMD (/home/pi/heartbeatgenerator.sh 2>&1)
Jan 7 13:06:01 RPi CRON[6562]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:07:01 RPi CRON[6579]: (pi) CMD (/home/pi/heartbeatgenerator.sh 2>&1)
Jan 7 13:07:07 RPi CRON[6575]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:07:54 RPi dhcpcd[520]: wlan0: Router Advertisement from fe80::21d:aaff:feb0:8f20
Jan 7 13:07:58 RPi dhcpcd[520]: wlan0: Router Advertisement from fe80::21d:aaff:feb0:8f20
Jan 7 13:08:01 RPi CRON[6608]: (pi) CMD (/home/pi/heartbeatgenerator.sh 2>&1)
Jan 7 13:08:02 RPi CRON[6604]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:08:02 RPi dhcpcd[520]: wlan0: Router Advertisement from fe80::21d:aaff:feb0:8f20
Jan 7 13:09:00 RPi dhcpcd[520]: wlan0: Router Advertisement from fe80::21d:aaff:feb0:8f20
Jan 7 13:09:01 RPi CRON[6636]: (pi) CMD (/home/pi/heartbeatgenerator.sh 2>&1)
Jan 7 13:09:01 RPi CRON[6632]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:09:04 RPi dhcpcd[520]: wlan0: Router Advertisement from fe80::21d:aaff:feb0:8f20
Jan 7 13:09:08 RPi dhcpcd[520]: wlan0: Router Advertisement from fe80::21d:aaff:feb0:8f20
Jan 7 13:10:01 RPi CRON[6672]: (pi) CMD (/home/pi/extase2influx/extase2influx.sh 2>&1)
Jan 7 13:10:01 RPi CRON[6673]: (pi) CMD (/home/pi/heartbeatgenerator.sh 2>&1)
Jan 7 13:10:01 RPi CRON[6674]: (pi) CMD (/home/pi/ows2influx/ows2influx.sh 2>&1)
Jan 7 13:10:06 RPi pi: /home/pi/extase2influx/extase2influx.sh INFO: Database entry successfull. Written 1490 bytes
Jan 7 13:10:06 RPi CRON[6661]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:10:07 RPi CRON[6662]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:10:12 RPi pi: /home/pi/ows2influx/ows2influx.sh INFO-OWS: Database entry successfull. Written 1376 bytes
Jan 7 13:10:12 RPi CRON[6660]: (CRON) info (No MTA installed, discarding output)
Jan 7 13:11:01 RPi CRON[6868]: (pi) CMD (/home/pi/heartbeatgenerator.sh 2>&1)
Jan 7 13:11:07 RPi CRON[6864]: (CRON) info (No MTA installed, discarding output)
我没有看到任何奇怪的东西,也没有看到 cronjob heartbeat.sh 在每小时的第 8 分钟和第 9 分钟失败的任何原因。
你们有些人有什么线索吗?
解决方案
推荐阅读
- python - 蟒蛇 | 给定每个索引的特定数字范围,如何将主列表中的值分组到不同列表
- amazon-web-services - 由于任务失败或并发 HA_RESTORE_DB 请求而中止任务。同时将 S3 恢复到 RDS
- apache-zeppelin - 如何从主机中完全删除 Zeppelin (HDP 3.0.1)
- forms - 关于 Timer Tick 事件触发器的 C++/CLI 问题
- prolog - 序言中给定数字的素数列表与基础知识
- mysql - 数据截断:不正确的日期时间值:
- typescript - TypeScript - 为什么设置为已定义对象的静态属性在编译时未知?
- swift - 没有待激活的快照。SDK 名称:app_measurement
- msbuild - 为什么“无法在 Ubuntu 代理而不是 Windows 代理上找到程序集“System.IdentityModel.Services”?
- python - 无法在发布/订阅消息中编码列表