Накратко: Планировчикът на задачи на 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

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

Можете също да гледате как файлът се актуализира в реално време. За да направите това, използвайте командата 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