cron - Python 脚本不再作为 cron 作业运行
问题描述
我为我的温室设置了一个水泵,并使用树莓派作为水泵计时器。它已经工作了数周,然后我运行了实际激活泵的脚本,但它不会关闭。现在我设置来运行脚本的 cronjob 也不起作用。
所以基本上,我有一个脚本来运行水泵
#!/usr/bin/env python3
import RPi.GPIO as gpio
import time
import datetime
channel = 21
gpio.setmode(gpio.BCM)
gpio.setup(channel, gpio.OUT)
def pump_on(pin):
gpio.output(pin, gpio.HIGH)
def pump_off(pin):
gpio.output(pin, gpio.LOW)
#setting up cronjob to start at startup
if __name__ == '__main__':
try:
pump_on(channel)
datetime = datetime.datetime.now()
print("...Activating Sprinkler...: ", str(datetime))
time.sleep(75)
print("...Deactivating Sprinkler...")
pump_off(channel)
gpio.cleanup()
except KeyboardInterrupt:
gpio.cleanup()
print("Interrupted!")
pass
它使用 crontab -e 通过这个 cronjob 运行
30 15 * * * /home/pi/Documents/water_pump.py >> ~/cron.log 2>&1
我有另一个脚本检查 pi 是否每小时打开一次(它是太阳能供电的,所以我想看看电池是否有关闭时间)
0 * * * * /home/pi/Documents/time_log.py >> ~/time.log 2>&1
这个仍然可以正常工作。
但是几天前我跑了./water_pump.py
而且它在 75 秒后没有关闭,我需要手动关闭系统,现在为此而使用的 cronjob 不再起作用。
任何建议将不胜感激。
编辑:grep CRON /var/log/syslog 输出:https ://imgur.com/a/jfC9eRw
太长了,无法嵌入图片
解决方案
我从 cron 作业中删除了该行,然后将其粘贴到末尾,它确实有效,猜猜这就是修复它的方法。
推荐阅读
- javascript - 随机滚动到一个长度并单击列表中的可查看元素
- c# - 如何在 Visual Studio 安装项目的启动条件下检查 .Net Core 版本
- android - ADT 没有显示我的手机通过 USB 数据线连接到电脑
- mysql - 我的 SQL 查询以获得相互/朋友的追随者
- node.js - 使用 MongoDB 4.0 查找函数返回匹配元素
- scala - Scala 弃牌与 Play!折叠
- c# - System.Runtime.InteropServices.ExternalException (0x80004005):GDI+ 中发生一般错误
- dailymotion-api - Dailymotion 视频标题的最大长度是多少?
- java - 华为平板电脑特定设备上的 BILLING_RESPONSE_RESULT_DEVELOPER_ERROR
- java - i am getting a error in animate() which is "error: non-static method animate() cannot be referenced from a static context"