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


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

Автор Тема: Bash и Cron как подружить  (Прочитано 531 раз)

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

Оффлайн Shlup

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Bash и Cron как подружить
« : 01 Сентября 2015, 11:27:29 »
День добрый уважаемое сообщество. Столкнулся с такой проблемой. Есть скрипт test.sh при запуске его из терминала скрипт нормально запускается. Но если засунуть его в crontab то он не исполняется. Систаксис крона минуты+2 (для проверки) * * * * /home/user/test.sh . Вместо user имя пользователя у которого лежит этот скрипт. Может кто то подскажет в чем может быть такая проблема?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Bash и Cron как подружить
« Ответ #1 : 01 Сентября 2015, 11:48:23 »
2 * * * * .....это 1 час.

*/2 * * * * .....2минуты.
Wars ~.o

Оффлайн wajnon

  • Старожил
  • *
  • Сообщений: 2778
    • Просмотр профиля
Re: Bash и Cron как подружить
« Ответ #2 : 01 Сентября 2015, 11:55:14 »
Shlup,
последняя строка должна быть пустая

Оффлайн Shlup

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Bash и Cron как подружить
« Ответ #3 : 01 Сентября 2015, 12:01:16 »
У меня где указывается время * * * * *. Я просто смотрю на часы, прибавляю 2 минуты (Допустим если время 12 то в кроне я пишу 2 12 * * *) пользователя и скрипт. Пустая строчка после этого в кроне тоже есть.

Пользователь решил продолжить мысль [time]01 Сентябрь 2015, 13:02:22[/time]:

*/2 * * * * .....2минуты.

Это вроде обозначает раз в 2 минуты?

Пользователь решил продолжить мысль 01 Сентября 2015, 12:08:29:
В общем суть такая. Мне надо что бы у меня сетевой интерфейс включался в 17-00 и выключался в 19-00. Скрипт выглядит так:
#!bin/sh
ifconfig eth1 up
/etc/init.d/networking restart
Это включение сетевого интерфейса и второй скрипт:
#!bin/sh
ifconfig eth1 down
/etc/init.d/networking restart
Выключение интерфейса
Далее в кроне строки
0 17 * * * root /home/smu/start.sh
0 19 * * * root /home/smu/stop.sh

и в принцыпе все, но почему то эта связка не работает(((
« Последнее редактирование: 01 Сентября 2015, 12:08:29 от Shlup »

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Bash и Cron как подружить
« Ответ #4 : 01 Сентября 2015, 12:09:04 »
Shlup,
номер 2 вокруг - это час.
Wars ~.o

Оффлайн kalek

  • Активист
  • *
  • Сообщений: 267
    • Просмотр профиля
Re: Bash и Cron как подружить
« Ответ #5 : 01 Сентября 2015, 13:39:34 »
Если из консоли запускается, а из крона - нет, то есть смысл посмотреть, что он при этом говорит: перенаправьте потоки вывода в какой-нибудь файл и смотрите на результат. Что-нибудь вроде
0 17 * * * root /home/smu/start.sh >>/tmp/out 2>>/tmp/error
Файлы не создались - крон не отработал вообще, в них есть какие-то данные - смотрим на что ругается.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Bash и Cron как подружить
« Ответ #6 : 01 Сентября 2015, 14:09:26 »
а позвольте поинтересоваться, как правите расписание?
После исправления crontab -l показывает эти изменения?

Оффлайн Shlup

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Bash и Cron как подружить
« Ответ #7 : 01 Сентября 2015, 14:13:58 »
Всем спасибо. Разобрался. Оказывается для отключения сетевых интерфейсов надо было работать от root-а и скрипт запускал через sudo. Когда под root-ом отредактировал crontab тоже результата не дало, так и не понял почему. В конечном итоге отредактировал файл по адресу /etc/cron/anacron и все заработало.

 

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