Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Crontab не запускае скрипт  (Прочитано 1136 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн roggerg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Crontab не запускае скрипт
« : 28 Июля 2017, 02:23:17 »
Всем привет,
Понимаю что тема заезжанна, но как говорится за спрос не бьют. Так вот я честно пытался ее решить просмотрев похожие темы на этом и других форумах. Но я только еще больше запутался. Cron пытаюсь запустить на raspberry pi2 (есть еще Ubuntu на виртуалке). И так последнее на чем я остановился
1. Скрипт /home/pi/Myscripts/sfc.sh
#!/bin/bash
date >> sfc.txt

Файл скрипта исполняемый и запускается отдельно.
2. Содержимое crontab -l
SHELL=/bin/bash
*/2 * * * * /home/pi/Myscripts/sfc.sh

3. Результат команды ps ax | grep cron
 438 ?        Ss     0:00 /usr/sbin/cron -f
 1764 pts/0    S+     0:00 grep --color=auto cron

4. /etc/crontab Пытался там как-то все это настроить, ничего не помогло и вернул все как естью

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Вообщем как-то. Подскажите что делать?


 
« Последнее редактирование: 28 Июля 2017, 09:56:59 от roggerg »

Оффлайн TeenSpirit

  • Любитель
  • *
  • Сообщений: 72
  • Подпись под аватаром
    • Просмотр профиля
    • Speed24
Re: Crontab не запускае скрипт
« Ответ #1 : 28 Июля 2017, 09:07:16 »
data >> sfc.txt
думаю cron тут не при чем
скрипт data где находится? в PATH он есть? добавьте PATH папку где он лежит или правьте скрипт, сменив путь на абсолютный

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #2 : 28 Июля 2017, 09:09:03 »
Где находится data (попробуйте прописать полный путь)
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн roggerg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #3 : 28 Июля 2017, 10:01:46 »
Я ошибся при написании поста, там должна быть стандартная команда date.На расберри было изначально date. В этом случае тоже надо прописывать PATH?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #4 : 28 Июля 2017, 10:11:59 »
надо прописывать PATH
или полный путь, посмотреть который можноwhich date
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн roggerg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #5 : 28 Июля 2017, 21:11:04 »
Итак
which date
/bin/date

добавил этот путь и crontab -l теперь так выглядит. 
SHELL=/bin/bash
PATH=/bin/date
*/2 * * * * /home/pi/Myscripts/sfc.sh

Крон по прежненму не запускается

Оффлайн Длиннорогий

  • Активист
  • *
  • Сообщений: 257
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #6 : 28 Июля 2017, 21:23:10 »
Сервис крон запущен?
И попробуй вместо шела прописать
*/2 * * * * bash /home/pi/Myscripts/sfc.sh 2>/tmp/cron-errorЕсли не сработает, в /tmp/cron-error будет информация

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #7 : 28 Июля 2017, 22:34:30 »
PATH=/bin/date
(Нажмите, чтобы показать/скрыть)
Убери из крона все что понаписывал.

В крон:
*/2 * * * * /home/pi/Myscripts/sfc.sh
Скрипт:
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
date >> /home/pi/Myscripts/sfc.txt

Оффлайн roggerg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #8 : 29 Июля 2017, 06:10:00 »
Спасибо, это помогло.
Но теперь у меня другой вопрос, собственно для чего изначально это все затевалось.
Мне надо запустить скрипт на питоне по расписанию, как мне теперь это сделать.
Сам скрипт это парсер вэб страницы, который выгружает данные в csv файл.
в crontab -e я дописал строку
*/2 * * * * /home/pi/Myscripts/sfc.sh
*/2 * * * * /home/pi/Myscripts/pwb.py > /dev/null 2>&1

Не заработало, я правильно понимаю что в кроне обязательно должен быть вывод куда-то, поэтому необходима строка /dev/null 2>&1


Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #9 : 29 Июля 2017, 07:21:57 »
я правильно понимаю что в кроне обязательно должен быть вывод куда-то, поэтому необходима строка /dev/null 2>&1
Нет. Также как и баш скрипт:
*/2 * * * * /home/pi/Myscripts/pwb.py
Сам скрипт /home/pi/Myscripts/pwb.py работает?
если в консоли так запустить:
/home/pi/Myscripts/pwb.pyИсполняемый бит установлен?

Оффлайн roggerg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Crontab не запускает скрипт
« Ответ #10 : 29 Июля 2017, 07:46:36 »
Да, сам скрипт исполняется, сайт парсица данные заносятся в csv файл. Предварительно было сделано
sudo chmod +x /home/py/Myscripts/pwb.py
Я еще изменил cron
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
*/2 * * * * /home/pi/Myscripts/sfc.sh
*/2 * * * * /home/pi/Myscripts/pwb.py > /dev/null 2>&1

И убрал PATH(точнее закоментил) из первого скрипта тот что sfc.sh и он как-бы отрабатывает нормально.
В отличие от второго скрипта pwb.py


« Последнее редактирование: 29 Июля 2017, 07:49:03 от roggerg »

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #11 : 29 Июля 2017, 07:59:05 »
Также как и баш скрипт:
*/2 * * * * /home/pi/Myscripts/pwb.py
" > /dev/null 2>&1" - убери.

Оффлайн roggerg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Crontab не запускае скрипт
« Ответ #12 : 29 Июля 2017, 20:07:06 »
Так, поправил cron
*/2 * * * * /home/pi/Myscripts/pwb.py
Никаких изменений не увидел, т.е. в файле csv новых записей не появилось.
Добавил вывод в файл
*/2 * * * * /home/pi/Myscripts/pwb.py > /tmp/cron-pwb
И потом проверил этот файл и там оказалось несколько записей. Это были отладочные принты в моем скрипте pwb.py.
Т.е. получается что крон все-таки запускает скрипт, но в файл почему-то не пишет. Я сначала подумал что может он пишет в файл с таким же именем но в другом месте, но поиск не нашел другого файла. Файл pb.csv находится в тойже директории что и pwb.py

Пользователь добавил сообщение 30 Июля 2017, 00:27:47:
Спасибо,
все заработало наконец, прописал абсолютный путь в питоновском скрипте и все
« Последнее редактирование: 30 Июля 2017, 00:27:47 от roggerg »

 

Страница сгенерирована за 0.044 секунд. Запросов: 23.