如何使用at命令在指定时间执行python脚本
当我尝试使用cron来在未来的某个时间执行我的Python脚本时,我发现有一个叫做at的命令。根据我所知道的,cron是用来定期执行任务的,但我这个情况只想在指定的时间执行一次。
我的问题是,如何将Python脚本添加到at命令中?另外,有没有什么Python库可以用来控制at命令?
我的开发操作系统是Ubuntu 10.04 lucid,而我的产品服务器也是Ubuntu-server 10.04 lucid版本。实际上,我想通过Python脚本将任务添加到at命令中,哪个文件的变化可以影响at命令添加或移除新任务。
4 个回答
3
根据手册的说明,at(和cron相比)不支持shebang(就是那行#!/usr/bin/env python
)。它总是用/bin/sh
来运行文件。
所以,要运行一个Python脚本,你必须使用以下任一方法:
echo python myscript.py | at 10:15
正如@bstpierre所建议的,或者你可以创建一个额外的文件
myscript.sh:
python myscript.py
然后
at -f myscript.sh at 10:15
这样就不需要shebang了(不过有也无妨)。
4
在我的Linux电脑上,这个可以正常运行:
echo python myscript | at 10:15
补充说明: 引号用错了...
-1
只需要这样做:
python FILE | at TIME > app.log
替换内容:
FILE - 你的 .py 文件(记得包括开头的那一行)
TIME - 你想要的时间