Ich denke, das Problem ist, dass cron Ihre Skripte in einer „nackten“ Umgebung ausgeführt wird, so dass Ihr DJANGO_SETTINGS_MODULE ist wahrscheinlich nicht definiert. Möglicherweise möchten Sie diese in ein Shell-Skript wickeln, die zuerst DJANGO_SETTINGS_MODULE
Etwas wie folgt definiert:
#!/bin/bash
export DJANGO_SETTINGS_MODULE=myproject.settings
./manage.py mycommand
Machen Sie es ausführbar (chmod + x) und dann einrichten cron stattdessen das Skript auszuführen.
bearbeiten
Ich wollte auch sagen, dass Sie dieses Konzept ein wenig „modularisieren“ kann und es so machen, dass Ihr Skript übernimmt die Befehle als Argumente verwalten.
#!/bin/bash
export DJANGO_SETTINGS_MODULE=myproject.settings
./manage.py ${*}
jetzt Ihr Cron-Job kann einfach passieren „mycommand“ oder anderen manage.py Befehl, den Sie von einem cron-Job ausgeführt werden sollen.
Das sagt unbekannten Befehl, wenn ich es tue. Ich musste es ändern in: cd/pfad/zu/project ./manage.py $ {*} – mhost
Kein Erfolg. Der benutzerdefinierte Befehl wird erkannt, aber der Befehl kann anscheinend die Datenbank nicht finden. – Raphael
Was meinen Sie mit "Befehl scheint die Datenbank nicht zu finden"? Bedeutet das einen Fehler? –