【发布时间】:2013-07-07 22:41:45
【问题描述】:
我正在尝试从虚拟环境中自动在我的 Mac 上每分钟运行一个 python 脚本。我确信我没有正确理解权限、路径和环境变量,这使我无法弄清楚这一点。
我是启用了 root 权限的管理员用户。我运行 HomeBrew、PIP 和 Virtualenv 来管理不同项目的 python 包和虚拟环境。
我想每 60 秒执行以下操作:
$ source /.virtualenvs/myenvironment/bin/activate
$ cd ~/desktop/python/
$ python myscript.py
$ deactivate
我试过了:
(a) 为 Launchd 编写我自己的 plist - 我相信这些文档格式正确。
(b) 为您管理 Launchd 守护程序和代理的程序(Launch Control 和 Lingon)。
(c) 我尝试过简单地编辑 crontab(仅在我使用 sudo 命令时才允许)。
python 脚本在命令上工作,从在线资源中提取数据并将其存储在 sqlite 表中。我可以告诉 cron 没有运行,因为 sqlite db 没有被触及。
任何想法将不胜感激。
【问题讨论】:
-
日志(/var/log/system.log)说什么?您是否检查了 stdout/stderr(在您的工作定义中设置
StandardOutPath和StandardErrorPath键)?
标签: python macos cron crontab launchd