LINUX.ORG.RU

Запустить скрипт в цикле на хостинге


1

1

Вот к примеру сделал я скрипт который регулярно что то проверяет, например скачивает обновлённый файл, парсит и сохраняет в MySQL. Во время разработки я его запускаю в консоли например так:

$ while sleep 300 ; do ./script ; done

Но для production use не держать же всегда консоль открытой. Можно конечно поставить скрипт в cron. Но возникает опять проблема. Если например cron запускает его раз в 5 минут, что если процесс запущенный 5 минут назад ещё не завершился.

Можно сохранить вышеприведённый код в файл file.sh и, залогинившись по ssh, запустить так: `./file.sh &`. Но в єтом случае что произойдёт если комп на котором он хостится перезагрузят. Хостинги вообще часто перезагружают? Надо куда то лезть в систему инициализации что бы он автоматически запускался при загрузке. А система эта в разных дистрибутивах разная, так как сделать универсально?

А если пускать его в screen ? тем же кроном. Хотя пускать циклы в кроне - лучше демона сделать.

rassu
()
Ответ на: комментарий от zolden

Уже нашёл, достаточно было почитать `man flock`. Этот flock я так понимаю часть util-linux, надеюсь он на shared hosting'гах везде есть, вроде как по идее базовый пакет.

x_____x
() автор топика

поставь свой скрипт в screen.

если комп на котором он хостится перезагрузят.

и в автозагрузку (/etc/rc.local или что-то своё для данного дистрибутива)

Хостинги вообще часто перезагружают?

только в случае аварии.

как сделать универсально?

зачем?

while sleep 300 ; do ./script ; done

ваще-то для этого придумали crontab.

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.