Python脚本不再作为cron作业运行

时间:2019-10-10 01:10:25

标签: cron raspberry-pi raspbian

我为温室安装了水泵,并使用树莓派作为水泵计时器。它已经工作了好几个星期,然后我运行了实际上激活泵的脚本,但它没有关闭。现在我设置为运行脚本的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

很长,我无法嵌入图片

1 个答案:

答案 0 :(得分:0)

我从cron作业中删除了该行,然后将其粘贴到末尾,并且行得通,所以猜想这就是解决方法。