Мне нужно отслеживать вторжение на сервер с (относительно) случайными интервалами. Для этого я настроил работу cron, которая запускается каждый час.
Я написал три сценария:
- скрипт-обёртка, который вызывает скрипт random_sleep_interval
- Сам скрипт random_sleep_interval
- Рабочий скрипт, который выполняет мониторинг (и записывает в файл)
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