【问题标题】:crontab python script querycrontab python脚本查询
【发布时间】:2022-01-11 00:49:29
【问题描述】:

我在 Pi3 上有一个 python 脚本,它将传感器读数发送到 mysql 数据库,我想在启动时运行它。我在 crontab 中尝试了几种@boot 组合,但数据库表从未获得任何新数据。

脚本的第一行是...

#!/usr/bin/python

脚本运行:

./distance2.py
@reboot  /home/pi/distance2.py &
#  @reboot cd /pyhome/pi/Pimoroni/VL53L1X/Examples && sudo python distance2.py
# @reboot /home/pi/Pimoroni/VL53L1X/Examples/distance2.py &

(为简单起见,我将脚本从 Pimoroni 目录中移出。)

从终端运行时,脚本运行良好:

pi@raspberrypi:~ $ ./distance2.py
distance.py
Display the distance read from the sensor.
Uses the "Short Range" timing budget by default.
Press Ctrl+C to exit.

VL53L1X Start Ranging Address 0x29

VL53L0X_GetDeviceInfo:
Device Name : VL53L1 cut1.1
Device Type : VL53L1
Device ID : 
ProductRevisionMajor : 1
ProductRevisionMinor : 15
Distance: 0mm
(1L, 'record inserted.')
Distance: 60mm
(1L, 'record inserted.')
Distance: 60mm

grep 显示它运行正常(除非脚本名称文本的红色表示不好?)

ps aux | grep distance2.py
pi        1530  0.0  0.5   7332  2032 pts/0    S+   16:20   0:00 grep --color=auto distance2.py

crontab @boot 对我不起眼的项目有什么影响?

【问题讨论】:

    标签: python cron


    【解决方案1】:

    尝试python的完整路径并写日志进行调查:

    @reboot /usr/bin/python /home/pi/distance2.py > /home/pi/distance2_cronjoblog 2>&1
    

    【讨论】:

    • 这行得通,因为 cronjob 记录了一个错误:_mysql_exceptions.OperationalError: (2002, "Can't connect to MySQL server on '192.168.1.23' (101)") 我将其更改为 sleep 60 && /usr/bin....,这似乎已修复它。
    猜你喜欢
    • 1970-01-01
    • 2015-10-05
    • 2017-12-16
    • 1970-01-01
    • 2020-03-16
    • 2017-08-06
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多