Наибольшая частота, с которой cron
запускается — 1 минута. При администровании серверов бывают ситуации, когда требуется более частый вызов, но конфиг crontab
не позволяет этого сделать. Задача решается окольным способом, с помощью вызова нескольких инструкций и использования sleep
. Например:
* * * * * /usr/bin/python /usr/local/bin/doit.py * * * * * sleep 30; /usr/bin/python /usr/local/bin/doit.py
То же можно сделать и в одной строчке, если одну инструкцию исполнять за другой
* * * * * /usr/bin/python /usr/local/bin/doit.py; sleep 30; /usr/bin/python /usr/local/bin/doit.py
Также, можно контролировать возвращаемый инструкцией код и уменьшить количество исполнений в случае ошибки в скрипте. В этом случае точка с запятой меняется на &&
.
Элегантное решение. Как-то можно предусмотреть, чтобы если скрипт уже запущен, новый не запускался?