gui*_*gui 80 python linux cron
我正在尝试使用linux crontab执行python脚本,但我找到了很多解决方案,但没有一个能够正常工作.例如:在/etc/cron.d编辑anacron或使用crontab -e.
我想每10分钟运行一次这个脚本.
我必须编辑哪个文件来配置它?
提前致谢
编辑
我把这一行放在文件的末尾,但它不会改变任何东西.我必须重新启动任何服务吗?
*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py
Run Code Online (Sandbox Code Playgroud)
编辑[2]
伙计们,我已经遵循了源代码.这里可能有问题,但是当我手动执行它时,它可以工作:
Rau*_*ngo 120
只需使用crontab -e并按照以下教程操作:
http://adminschoice.com/crontab-quick-reference
请参阅第3点,了解如何指定频率的指南.
根据您的要求,它应该有效地:
*/10 * * * * /usr/bin/python script.py
Run Code Online (Sandbox Code Playgroud)
Bas*_*tch 57
将您的脚本放在以.foo.py开头的文件中
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
然后使用给该脚本的执行权限
chmod a+x foo.py
Run Code Online (Sandbox Code Playgroud)
并使用您的foo.py文件的完整路径crontab.
请参阅处理shebang的execve(2)的文档
小智 18
正如你所提到的,没有任何改变,
首先,您应该从crontab执行重定向stdin和stderr,如下所示:
*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py > /tmp/listener.log 2>&1
Run Code Online (Sandbox Code Playgroud)
然后您可以查看该文件/tmp/listener.log以查看脚本是否按预期执行.
其次,猜猜你的意思是通过观察你的程序创建的文件来改变一切:
f = file('counter', 'r+w')
json_file = file('json_file_create_server.json','r+w')
Run Code Online (Sandbox Code Playgroud)
上面的crontab作业不会在目录中创建这些文件/home/souza/Documets/Listener,因为cron作业不在此目录中执行,并且您在程序中使用相对路径.因此,要在目录中创建这些文件/home/souza/Documets/Listener,以下cron作业将起到作用:
*/2 * * * * cd /home/souza/Documets/Listener && /usr/bin/python listener.py > /tmp/listener.log 2>&1
Run Code Online (Sandbox Code Playgroud)
切换到工作目录并从那里执行脚本,然后您可以查看就地创建的文件.
| 归档时间: |
|
| 查看次数: |
234340 次 |
| 最近记录: |