Я хочу создать задание крона, которое запускает скрипт каждые 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 секунд советуйте.
И спасибо.
Я бы не стал использовать для этого cron. Я бы использовал этот сценарий bash (используйте абсолютный путь, если вы не хотите, чтобы он был переносимым и знаете, что структура каталогов будет сохранена).
Вместо этого я бы просто sleep 5
, как вы и сделали (только 5 секунд вместо 1).
Что касается запуска с вашей системы, это зависит от системы. В (некоторых) дистрибутивах Linux есть файл /etc/rc.local
, в который можно добавить скрипты, запускаемые при старте системы. Ну... Я не должен быть таким общим, в дистрибутивах, которые я использовал, это есть. Если вы используете Ubuntu, там больше нет inittab, они используют upstart, btw.
Так что если у вас есть бесконечный цикл и запись в /etc/rc.local
, то вы должны быть золотым, чтобы он выполнялся бесконечно (или пока он не столкнется с проблемой и не выйдет).
Попробуйте использовать anacron или, что еще лучше, сценарий инициализации для запуска при запуске компьютера.
Если вы хотите, чтобы сценарий «перезапустился сам», вам нужно будет запускать что-то каждые несколько минут, чтобы проверить, что оригинал все еще работает. Это можно сделать в inittab ( / etc / inittab
) или, в Ubuntu, /etc/event.d
. Попробуйте man 5 inittab
, глядя на параметр «респаун».