树莓派那些事 - crontab执行定时任务

原创
2022/05/16 23:46
阅读数 256

这一点不怨树莓派,也不怨linux,好吧好吧,my fault。

Python一段代码,通过 crontab -e 增加一段执行任务:

 # m h dom mon dow command
 30 * * * * /home/pi/Projects/water-it/water-it.py

做了工作内容包括:

  1. 增加脚本执行头:#!/bin/python
  2. 授权执行权限:chmod +x /home/pi/Projects/water-it/water-it.py

代码中设计一个通过 subprocess 执行 git 的操作,但运行之后发现并没有预期效果。最终结论:

crontab 执行环境为 /home/pi,脚本中open("file",'w') 会尝试写入 /home/pi/file 文件,同样,subprocess 执行的 git add . 只会尝试添加 /home/pi 下的文件

处理:

  1. 获取当前脚本路径,如 os.path.abspath(__file__)
  2. 文件使用全路径
  3. 执行 git 前先 os.chdir 过去
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部