Existem algumas maneiras de resolver isso:
Primeiro, não funciona porque /bin/sh é o cron do shell usado para executar comandos, mas /bin/sh não suporta source . Portanto, a solução rápida é definir SHELL=/bin/bash no crontab.
Ou ...
Em segundo lugar, não é necessário source virtualenv/bin/activate de qualquer maneira. Você pode apenas chamar o virtualenv python diretamente.
* * * * * cd /home/www/production/mydjangoproject; /home/virtualenvs/mydjangoproject-venv/bin/python manage.py mydjangocommand
Estas foram tiradas de esta questão sobre SO , cujas respostas podem conter outras ideias para pessoas de semelhante, mas não exatamente as mesmas circunstâncias.