Как запускать задание Cron каждые 10, 20 и 30 секунд в Linux
Краткая информация. Планировщик заданий cron не поддерживает планирование выполнения заданий с интервалом в несколько секунд. В этой статье мы покажем вам простой трюк, который поможет вам запускать задание cron каждые 30 секунд или x секунд в Linux.
Вы новичок в планировщике заданий cron и хотите запускать задание каждые 30 секунд? К сожалению, cron не позволяет этого сделать. Вы не можете запланировать запуск задания cron каждые x секунды. Cron поддерживает только интервал времени не менее 60 секунд (т. е. 1 минуты). Чтобы запускать задание cron каждые 30 секунд, вам нужно использовать трюк, который мы объяснили ниже.
В этом руководстве мы также рассмотрим множество других примеров запуска задания, команды или сценария каждые x секунд. Но давайте начнем с того, как запускать задание cron каждые 30 секунд в Linux.
Запускать задание Cron каждые 30 секунд в Linux
Чтобы выполнить вышеуказанную задачу, создайте две записи в crontab. Первое задание будет запускать команду даты через каждую минуту (60 секунд), затем вторая запись использует команду сна для задержки на указанное время (в данном случае 30 секунд) и вызова команду date еще раз.
Вам необходимо добавить следующие записи в crontab (таблицу cron) и открыть ее для редактирования с помощью следующей команды crontab (-e
флаг разрешает редактирование):
crontab -e
Добавьте в файл следующие записи cron.
* * * * * date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
Теперь, если вы проверите содержимое файла /tmp/date.log, вы увидите, что команда date запускается каждые 30 секунд. Мы можем использовать команду cat для просмотра файла и проверки столбца времени для подтверждения следующим образом:
cat /tmp/date.log
Вы также можете наблюдать за обновлением файла в режиме реального времени. Для этого используйте команду Tail с флагом -f
.
tail -f /tmp/date.log
Запускать задание Cron каждые 10 секунд в Linux
Давайте посмотрим на другие примеры. Здесь показано, как запускать задание cron каждые 10 секунд. Хитрость заключается в том, чтобы просто поиграть с количеством секунд, заданным командой sleep:
* * * * * date>> /tmp/date.log
* * * * * sleep 10; date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log
* * * * * sleep 50; date>> /tmp/date.log
Еще раз, если мы посмотрим файл /tmp/date.log, он должен обновляться каждые 10 секунд на основе приведенных выше записей crontab:
tail -f /tmp/date.log
Вот еще один пример выполнения команды date через каждые 15 секунд:
* * * * * date>> /tmp/date.log
* * * * * sleep 15; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 45; date>> /tmp/date.log
Наконец, чтобы запускать задание cron каждые 20 секунд, вы можете сделать что-то вроде этого:
* * * * * date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log
Кроме того, вот еще статьи, которые помогут вам изучить планирование заданий с помощью cron:
- Как создавать задания Cron и управлять ими в Linux
- Cron против Anacron: как планировать задания с помощью Anacron в Linux
Теперь вы это знаете! Мы показали вам различные примеры запуска задания cron каждые x секунды в Linux. Прочтите справочные страницы cron (выполнив команды man cron
и man crontab
) для получения дополнительной информации.
Если вы знаете какие-либо полезные советы и рекомендации по использованию команд cron, поделитесь ими в комментариях ниже.