Задания крона — для выполнения каждые 5 секунд

Я хочу создать задание крона, которое запускает скрипт каждые 5 секунд. Наблюдение, что задания крона только позволяют инкременты минут 0-59 и так далее.

Я думал для создания другого сценария, который называет мой исходный сценарий записанным ниже.

#!/bin/bash

while true
do
# script in the same directory as this script. is this correct?
bash makemehappy.sh
sleep 1
done

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

Я также знаю, что запущение этого скрипта каждую минуту не было бы хорошей вещью.:)

если существует более легкий способ запустить скрипт, каждые 5 секунд советуйте.

И спасибо.

7
задан myusuf3 26 July 2010 в 00:28
поделиться

2 ответа

Я бы не стал использовать для этого cron. Я бы использовал этот сценарий bash (используйте абсолютный путь, если вы не хотите, чтобы он был переносимым и знаете, что структура каталогов будет сохранена).

Вместо этого я бы просто sleep 5, как вы и сделали (только 5 секунд вместо 1).

Что касается запуска с вашей системы, это зависит от системы. В (некоторых) дистрибутивах Linux есть файл /etc/rc.local, в который можно добавить скрипты, запускаемые при старте системы. Ну... Я не должен быть таким общим, в дистрибутивах, которые я использовал, это есть. Если вы используете Ubuntu, там больше нет inittab, они используют upstart, btw.

Так что если у вас есть бесконечный цикл и запись в /etc/rc.local, то вы должны быть золотым, чтобы он выполнялся бесконечно (или пока он не столкнется с проблемой и не выйдет).

8
ответ дан 6 December 2019 в 21:08
поделиться

Попробуйте использовать anacron или, что еще лучше, сценарий инициализации для запуска при запуске компьютера.

Если вы хотите, чтобы сценарий «перезапустился сам», вам нужно будет запускать что-то каждые несколько минут, чтобы проверить, что оригинал все еще работает. Это можно сделать в inittab ( / etc / inittab ) или, в Ubuntu, /etc/event.d . Попробуйте man 5 inittab , глядя на параметр «респаун».

2
ответ дан 6 December 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: