Найти - Пользователи
Полная версия: django manage.py my_command in cron
Начало » Django » django manage.py my_command in cron
1
ilnur
привет.
Написал простойую команду
test.py
# coding: utf-8
import ilnurgi.settings as settings
import os
import datetime
from django.core.management.base import BaseCommand
class Command(BaseCommand):
    def handle(self, *args, **options):
        time_backup = datetime.datetime.now().strftime('%d%m%Y')
        open(os.path.join(settings.ROOT_PATH, 'backups',
                          'parsing_log' + time_backup), 'w')
через терминал все выполняется. создается файл в папке
Добавляю в крон, допустим время сейчас 12:45
ilnurgi$crontab -e
46 12 * * * python /ilnurgi.ru/manage.py test
в результате вроде бы ничего и не выполняется
папка ilnurgi.ru лежит в папке home

сам крон вроде бы щзапущен
ilnurgi$ cron
cron: can't open or create /var/run/crond.pid: Permission denied
что я делаю Не так?

JOHN_16
ilnur
Вроде бы запущен?? Для начала вы не првильно проверяете работает ли крон. Надо так
ps aux | grep cron

ну и settings лучше импортировать через
import django.conf.settings
ilnur
ps aux | grep cron
(ilnurgi)ilnurgi@ilnurgi-System-Product-Name:~/apps/ilnurgi-clone$ ps aux | grep cron
root      1136  0.0  0.0  19112  1028 ?        Ss   09:23   0:00 cron
ilnurgi  14750  0.0  0.0  21020   984 pts/2    T    13:02   0:00 crontab -e
ilnurgi  14751  0.0  0.0   4396   616 pts/2    T    13:02   0:00 /bin/sh -c /usr/bin/sensible-editor /tmp/crontab.AsXGLT/crontab
ilnurgi  14752  0.0  0.0   4396   616 pts/2    T    13:02   0:00 /bin/sh /usr/bin/sensible-editor /tmp/crontab.AsXGLT/crontab
ilnurgi  14760  0.0  0.0  19676  1844 pts/2    T    13:02   0:00 /bin/nano /tmp/crontab.AsXGLT/crontab
ilnurgi  16177  0.0  0.0  14832   936 pts/2    S+   13:25   0:00 grep --color=auto cron
(ilnurgi)ilnurgi@ilnurgi-System-Product-Name:~/apps/ilnurgi-clone$

крон работает
команда mkdir 2345, создает папку в домашней директории

за импорт настроек спасибо

ilnur
странно. Но работает только так

12 12 * * * cd /home/ilnurgi/ && sh cron.sh

cron.sh
python manage.py parsing_log
JOHN_16
у меня в крон примерно следующее:
00,30 * * * * python /full/path/to/project/manage.py command
а не работает у вас почему? может прав на выполнение у manage.py нету?оч частая ситуаия
ilnur
при добавлений команды через crontab -e, задачи выполняются от чего имени? от имени того кто добавил это задание? Или от рута?
JOHN_16
ilnur
вам бы основы Линукса подучить, прежде чем такими делами заниматься. Конечно от имени того кто это задание добавил
ilnur
основы то в процессе учу. Но не останавливаться на этой задачке.

Doberman26rus
1. во первых проверьте, что у вас находится в settings.ROOT_PATH
2. в скрипте везде используйте только абсолютные пути
3. выполните вручную команду python /ilnurgi.ru/manage.py test не из директории, где находится manage.py, а например, из домашней директории и посмотрите на результат.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB