Как настроить задание CRON для запуска каждые 10 секунд в Linux?

мне нужно запустить CRON задание каждые 10 секунд с момента запуска.

в Linux как запустить CRON задание каждые 10 секунд с момента его запуска?

Я пытаюсь сделать следующее -

когда я делаю запрос (или начинаю) в 04:28:34, он должен начинаться в 04:28:44, а не в 4:28:40

Это то, что я сделал и я пытаюсь,

# m h  dom mon dow   command
*/10 * * * * /usr/bin/wget http://api.us/application/

что плохого я сделал здесь, чтобы не работать каждый 10 секунд?

2 ответов


чтобы уточнить ответ Sougata Bose, я думаю, что OP хочет, чтобы команда выполнялась каждые 10 секунд со времени начала; не 10 секунд после первой минуты и каждой последующей минуты.

cron имеет разрешение только 1 минута (есть другие инструменты, которые, я думаю, могут иметь более тонкие разрешения, но они не являются стандартными для unix).

поэтому для решения проблемы вам нужно 60 секунд / 10 секунд = 6 заданий cron, каждое со сном.

например, запустите crontab - e и добавьте следующие строки в выбранный вами редактор:

***** ( /usr/bin/wget http://api.us/application/ )  
***** ( sleep 10 ; /usr/bin/wget http://api.us/application/ )  
***** ( sleep 20 ; /usr/bin/wget http://api.us/application/ )  
***** ( sleep 30 ; /usr/bin/wget http://api.us/application/ )  
***** ( sleep 40 ; /usr/bin/wget http://api.us/application/ )  
***** ( sleep 50 ; /usr/bin/wget http://api.us/application/ )  

вы указали * / 10 в минутах. Cron позволяет только в течение как минимум одной минуты. Вы можете попробовать это -

* * * * * ( sleep 10 ; /usr/bin/wget http://api.us/application/)

, который будет выполнять его каждые 10 секунд со сном.