我正在使用一个名为django-mailbox的django应用程序.这样做的目的是通过pop3和其他协议导入电子邮件消息并将其存储在数据库中.我想通过一个chron定期做这件事.在http://django-mailbox.readthedocs.org/en/latest/topics/polling.html文档中,它指出:
使用cron作业
您可以通过运行名为getmail的管理命令轻松地使用传入邮件(可选地使用您要获取邮件的邮箱名称的参数):
python manage.py getmail
Run Code Online (Sandbox Code Playgroud)
现在我可以在命令行本地运行它并且它可以正常工作,但是如果将它部署到只能通过URL访问的外部服务器,那么该命令将如何给出?
Chr*_*aro 15
如果您使用虚拟环境,请使用virtualenv中的python二进制文件
* * * * * /path/to/virtualenv/bin/python /path/to/project/manage.py management_command
Run Code Online (Sandbox Code Playgroud)
在服务器机器上:
$ sudo crontab -l
no crontab for root
$ sudo crontab -e
no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/vim.tiny
Choose 1-4 [2]:
Run Code Online (Sandbox Code Playgroud)
选择您喜欢的编辑器
然后参见http://en.wikipedia.org/wiki/Cron了解如何安排命令运行的时间,将其定向到计算机上的某个 .sh 文件,确保提供完整路径,因为这将在 root 中运行用户上下文。
cron 将运行的脚本可能类似于:
#!/bin/bash
cd /absolute/path/to/django/project
/usr/bin/python ./manage.py getmail
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5921 次 |
| 最近记录: |