我有一个运行一些Python / Flask脚本的Raspberry Pi。有2条路线可以执行以下操作:
检查房屋中的蓝牙连接,看看是否有人在家,并将结果写入MySQL表。
每15分钟检查一次以上结果。如果房子是空的,请关闭中央供暖系统。
我有2个适用于上述内容的shell脚本:
occupancy.sh
wget -O - http://mydomain.co.uk/occupancy > /dev/null 2>&1
heatadjust.sh
wget -O - http://mydomain.co.uk/heatingadjust > /dev/null 2>&1
两个文件的权限和所有权相同。
这些都从crontab运行-它们都显示在syslog中,但是crontab看起来像这样:
*/5 * * * * /var/www/html/dashboard/dashboard/occupancy.sh
*/5 * * * * /var/www/html/dashboard/dashboard/heatadjust.sh
选项1起作用。确实应该做。
选项2不起作用。如果我从命令行运行wget而不将其发送到/ dev / null,它将以200状态响应并且没有错误。错误日志中没有任何内容。 Apache访问显示了成功。
脚本中什么也没有发生。
如果我从命令行运行shell脚本,同样,什么也没有发生,也没有发现任何错误。
但是...如果我将地址粘贴到浏览器中,则可以正常工作。
有没有人知道我下一步可以去哪里?
答案 0 :(得分:1)
好,我解决了。问题不是直接与wget有关,而是我的Python脚本依赖于读取我使用Hive API的身份验证令牌设置的会话变量的事实。目前,我要做的是在脚本的开头添加身份验证,以便每次运行时它都能从Hive获取新的令牌。
我敢肯定有一种更优雅的方法,但是我已经写的很多内容都依赖于相同的身份验证检查功能,因此我需要考虑一种不同的方法。