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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

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

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6015
  • 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

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6015
  • 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

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
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

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
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

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
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.143 секунд. Запросов: 22.