我写了一个与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命令,您可以给MySQL服务器启动时间(在大多数Raspberry Pi用例中,5秒应该绰绰有余)。这不是最优雅的解决方案,但是除非您做的事情可能极大地影响MySQL服务器的启动时间,否则应该这样做:
#!/bin/sh
#launcher.sh
sleep 5
cd /
cd home/pi/
sudo python ser.py
cd /
基本思想是尝试在循环内连接到本地mysql服务器并执行查询,退出,然后评估退出代码。如果退出代码为正,请运行脚本的一部分,否则重试。
mysql -e "desc mysql.user" -u <user> -p<password> >/dev/null
您可以在这里找到一个很好的脚本来执行此类操作:http : //forum.osmc.tv/showthread.php?tid=14823
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句