Мне нужно отслеживать вторжение на сервер с (относительно) случайными интервалами. Для этого я настроил работу cron, которая запускается каждый час.

Я написал три сценария:

  1. скрипт-обёртка, который вызывает скрипт random_sleep_interval
  2. Сам скрипт random_sleep_interval
  3. Рабочий скрипт, который выполняет мониторинг (и записывает в файл)

Random_sleep_interval работает сам по себе в том, что, когда я набираю его в CLI, вот так:

random_sleep_interval 100

Это выводит что-то вроде этого:

Sleeping for 95 seconds ...

Где 95 - случайный интервал времени, рассчитанный / выбранный скриптом random_sleep_interval. Каждый раз, когда скрипт запускается, он спит в течение случайного количества секунд (от 0 до первого агента, переданного скрипту)

Сценарий оболочки успешно вызывается cron. Затем скрипт-обёртка вызывает в свою очередь random_sleep_interval и рабочий скрипт. Однако, когда я проверяю журналы, созданные рабочим сценарием, все файлы журнала создаются в то же время, когда запускается задание cron - это означает, что каким-то образом спящая часть не работает.

Может кто-нибудь объяснить мне, почему вместе они не работают, но по отдельности это работает (как объяснено выше)?

Единственная причина такого поведения заключается в том, что скрипт-обертка порождает разные процессы для запуска каждого скрипта, но это не имеет смысла ...

Я работаю на Ubuntu 10.0.4 LTS

0