Уведомления

Группа в Telegram: @pythonsu

#1 Май 22, 2013 11:54:33

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

django manage.py my_command in cron

привет.
Написал простойую команду
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
что я делаю Не так?

Офлайн

#2 Май 22, 2013 12:17:50

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

django manage.py my_command in cron

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

ps aux | grep cron

ну и settings лучше импортировать через
import django.conf.settings



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Май 22, 2013 12:32:25

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

django manage.py my_command in cron

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, создает папку в домашней директории

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

Офлайн

#4 Май 22, 2013 15:00:46

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

django manage.py my_command in cron

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

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

cron.sh
python manage.py parsing_log

Офлайн

#5 Май 23, 2013 00:06:31

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

django manage.py my_command in cron

у меня в крон примерно следующее:
00,30 * * * * python /full/path/to/project/manage.py command
а не работает у вас почему? может прав на выполнение у manage.py нету?оч частая ситуаия



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#6 Май 23, 2013 07:07:02

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

django manage.py my_command in cron

при добавлений команды через crontab -e, задачи выполняются от чего имени? от имени того кто добавил это задание? Или от рута?

Офлайн

#7 Май 23, 2013 07:13:17

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

django manage.py my_command in cron

ilnur
вам бы основы Линукса подучить, прежде чем такими делами заниматься. Конечно от имени того кто это задание добавил



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#8 Май 23, 2013 08:16:02

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

django manage.py my_command in cron

основы то в процессе учу. Но не останавливаться на этой задачке.

Офлайн

#9 Май 28, 2013 11:52:29

Doberman26rus
От: Ставрополь
Зарегистрирован: 2009-03-16
Сообщения: 128
Репутация: +  1  -
Профиль   Отправить e-mail  

django manage.py my_command in cron

1. во первых проверьте, что у вас находится в settings.ROOT_PATH
2. в скрипте везде используйте только абсолютные пути
3. выполните вручную команду python /ilnurgi.ru/manage.py test не из директории, где находится manage.py, а например, из домашней директории и посмотрите на результат.



подпись

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version