gpt4 book ai didi

python - 树莓派开机启动mysql后自动运行python脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:00 28 4
gpt4 key购买 nike

我编写了一个与 mysql 数据库通信的 python 脚本。我通过创建一个 launcher.sh 文件让它在启动时自动启动:

#!/bin/sh
#launcher.sh
cd /
cd home/pi/
sudo python ser.py
cd /

并添加

@reboot sh /home/pi/launcher.sh >/home/pi/logs/cronlog 2>&1

到 crontab 的最后一行:

sudo crontab -e

当系统重新启动时,脚本会尝试开始工作,但它无法连接到 mysql 数据库。当我通过连接 ssh 启动脚本时,一切正常。

如何在所有数据库服务启动后自动启动我的脚本?

最佳答案

我最近遇到了类似的问题。

穷人的解决办法—— sleep

通过使用 sleep 命令,您可以为 MySQL 服务器提供启动时间(在大多数 Raspberry Pi 用例中,5 秒应该足够了)。这不是最优雅的解决方案,但除非您正在做一些可能会大幅影响 MySQL 服务器启动时间的事情,否则应该这样做:

#!/bin/sh
#launcher.sh
sleep 5
cd /
cd home/pi/
sudo python ser.py
cd /

更高级的解决方案——检查MySQL服务器是否启动的脚本

基本思想是尝试在循环内连接到本地 mysql 服务器并执行查询、退出,然后评估退出代码。如果退出代码是肯定的,请运行您的脚本部分,否则重试。

mysql -e "desc mysql.user" -u <user> -p<password> >/dev/null

你可以在这里找到一个非常好的脚本来做这样的事情: http://forum.osmc.tv/showthread.php?tid=14823

关于python - 树莓派开机启动mysql后自动运行python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28955027/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com