Как да стартирате задание на Cron на всеки 30 секунди в Linux

Сподели

Накратко: Планировчикът на задачи на cron не поддържа планиране на задания за изпълнение на интервал от секунди. В тази статия ще ви покажем прост трик, който да ви помогне да стартирате задача на cron на всеки 30 секунди или x секунди в Linux.

Нов ли сте в програмата за планиране на задачи на cron и искате да изпълнявате задача на всеки 30 секунди? За съжаление, cron не го позволява. Не можете да планирате cron задача да се изпълнява всеки път х второ. Cron поддържа само интервал от време от поне 60 секунди (т.е. 1 минута). За да изпълнявате cron задача на всеки 30 секунди, трябва да използвате трика, който обяснихме по-долу.

В това ръководство ще разгледаме и много други примери за изпълнение на задание, команда или скрипт на всеки х секунди. Но нека започнем с това как да изпълняваме cron задача на всеки 30 секунди в Linux.

Стартирайте Cron Job на всеки 30 секунди в Linux

За да постигнете горната задача, създайте два записа в crontab. Първото задание ще изпълнява командата за дата след всяка минута (60 секунди), след което вторият запис използва команда за сън за забавяне за определен период от време (30 секунди в този случай) и извикване на дата команда отново.

Трябва да добавите следните записи в crontab (cron таблица) и я отворете за редактиране, като използвате следното crontab команда (на -e флаг позволява редактиране):

# crontab -e

Добавете следните cron записи към файла.

* * * * * date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log 
Добавете Cron Job в Linux
Добавете Cron Job в Linux

Сега, ако проверите съдържанието на /tmp/date.log файл, трябва да видите, че команда за дата се изпълнява всеки 30 секунди. Можем да използваме командата cat, за да прегледаме файла и да проверим колоната за време, за да потвърдим, както следва:

$ cat /tmp/date.log
Проверете Cron се изпълнява на всеки 30 секунди
Проверете Cron се изпълнява на всеки 30 секунди

Можете също да гледате как файлът се актуализира в реално време. За да направите това, използвайте командата tail с -f знаме.

$ tail -f /tmp/date.log
Преглед на съдържанието на файла в реално време
Преглед на съдържанието на файла в реално време

Стартирайте Cron Job на всеки 10 секунди в Linux

Нека да разгледаме още примери. Това показва как да стартирате cron задача всеки 10 секунди. Номерът е просто да си поиграете с сън команден брой секунди:

* * * * * 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

Ето още един пример за изпълнение на команда за дата след всеки 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 работа всеки х второ в Linux. Прочетете man страниците на cron (чрез стартиране man cron и man crontab команди) за повече информация.

Ако знаете полезни съвети или трикове за команда cron, моля, споделете ги в коментарите по-долу.

Публикациите се превеждат автоматично с google translate


Сподели