python - Raspberry Pi crontab 在启动时启动 py 脚本 -> 记录 : error mysql 2002 (can't connect to local server)

标签 python mysql cron raspberry-pi

Raspberry Pi (raspian wheezy) 有一个 cronjob,是使用“sudo crontab -e”作为用户 pi 创建的,因此它应该具有 root 权限。

ps aux | grep /home/.../myscript.py

...说它的所有者是用户“pi”!? (这是正确的吗?)

如果我从终端调用它,从 crontab 调用的 python 脚本工作正常。 它从UART(串口)读取数据,并将其保存到mysql数据库中。 我的 python 脚本获得了“chmod 777”授权。

crontab 文件:

@reboot sudo python /home/pi/pythonprogram/myscript.py & > /home/pi/pythonprogram/myscript.log

crontab 日志文件:

Error mysql: 2002 Can't connect to local MYSQL server throught socket '/var/run/mysqld/mysqld.sock' (2)

可能是在启动过程中服务器(mysql 和 apache)运行之前首先调用我的脚本吗?有没有办法防止这种情况发生?

这些错误的其他原因可能是什么?

最佳答案

以相当丑陋的方式解决了这个问题,但现在可以了。

刚刚添加:

time.sleep(5)

在尝试连接到 mysql 数据库之前。

如果有人有更好的解决方案,我会很高兴。

关于python - Raspberry Pi crontab 在启动时启动 py 脚本 -> 记录 : error mysql 2002 (can't connect to local server),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18805490/

相关文章:

python - 从 RGB 列表创建图像 python PIL

php - ZF2 查询结果不正确

CakePHP Shell cronjob : Error: Class TestingShell could not be loaded

MYSQL 大于 X 时分组依据

python - 具有多个连接的 Django ORM 查询

cron - 如何每72分钟执行一次Cron工作

bash - docker exec 在 cron 中不工作

python - 根据列日期在数据框中为每个月添加行

python - 解决数独的算法

python - 我们如何在 pytest 中接受一个命令行选项的多个值