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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: cron, порядок выполнения  (Прочитано 675 раз)

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

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
cron, порядок выполнения
« : 22 Октября 2018, 13:49:56 »
Здравствуйте.
Подскажите, есть несколько задач, в идеале хочу чтоб все выполнялись раз в 30 минут.
сделал так
*/30 * * * * /home/fikus/skript/kol.sh
*/30 * * * * /home/fikus/skript/bad.sh
*/30 * * * * /home/fikus/skript/ipt.sh
*/30 * * * * /home/fikus/skript/test.sh
последний очищает лог, но столкнулся с тем, что лог чистится быстрее чем отрабатывают первые три. Отсюда и вопрос - нужно "развести" время или есть еще какой-то вариант упорядочить выполнение?
Спасибо.

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Re: cron, порядок выполнения
« Ответ #1 : 22 Октября 2018, 14:16:09 »
или есть еще какой-то вариант упорядочить выполнение?

А зачем тебе куча скриптов, если можно все команды записать в один скрипт в поряке их выполнения?
И пусть cron запускает один скрипт.

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: cron, порядок выполнения
« Ответ #2 : 22 Октября 2018, 14:37:10 »
ecc83, тоже вариант. Попробую объединить.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: cron, порядок выполнения
« Ответ #3 : 22 Октября 2018, 20:25:59 »
Ввысь, в кроне задачи выполняются по графику, а не по порядку их записи в самом кроне.
Есть sleep, но он не гарантирует, что предыдущий скрипт завершится ранее, чем пройдет таймаут, есть еще flock, где скрипт будет ожидать, пока его "отпустит" другой скрипт, но в этом случае нет гарантии, что второй в списке скрипт не захватит управление ранее, чем первый.

А потому, или все в один скрип (ну или вызывать скрипт, где прописаны остальные в порядке их выполнения) или через конкатинацию && в одной строке
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: cron, порядок выполнения
« Ответ #4 : 23 Октября 2018, 12:53:59 »
EvangelionDeath, вот это мне и было интересно. Со sleep не заработало, видимо как раз "предыдущий скрипт завершится ранее, чем пройдет таймаут".

Объединил в один. Проблема решена.

Всем спасибо.

 

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