Я думаю, что проблема в том, что cron будет запускать ваши скрипты в «голой» среде, поэтому ваш DJANGO_SETTINGS_MODULE скорее всего не определен. Возможно, вы захотите обернуть это в сценарий оболочки, который сначала определяет DJANGO_SETTINGS_MODULE
Примерно так:
#!/bin/bash
export DJANGO_SETTINGS_MODULE=myproject.settings
./manage.py mycommand
Сделайте его исполняемым (chmod + x) и затем настройте cron для запуска скрипта.
Редактировать
Я также хотел сказать, что вы можете немного «модулировать» эту концепцию и сделать так, чтобы ваш скрипт принимал команды управления в качестве аргументов.
#!/bin/bash
export DJANGO_SETTINGS_MODULE=myproject.settings
./manage.py ${*}
Теперь ваше задание cron может просто передать "mycommand" или любую другую команду manage.py, которую вы хотите запустить из задания cron.