Виконуйте роботу з хроном кожні 5 хвилин між двома разів


18

Чи є спосіб вказати роботу, яка працює кожні 5 хвилин між деяким початковим часом і деяким кінцевим часом у робочі дні в crontab?

Оновлення Я думаю, що доречно, що час мого початку та закінчення не в круглі години. Отже, вказати 9-5 у стовпці за годиною недостатньо. Я хочу 9: 30-17: 30.

Відповіді:



1

Якщо відповідь Ігнасіо Васкеса-Абрамса насправді не працює для вас, наприклад, тому що сценарію потрібна велика кількість параметрів або критерії виклику нетривіальні (або не обмежені часом), альтернативний підхід - зробити простий скрипт обгортки, викликуйте скрипт обгортки через рівні проміжки часу, а скрипт обгортки повинен перевірити поточний час та викликати основний сценарій.

Наприклад:

#/bin/bash

# Check to see if we should run the script now.
HOUR=$(date +%H)
MINUTE=$(date +%M)
if test $HOUR -lt 9; then exit 0; fi
if test $HOUR -eq 9 -a $MINUTE -lt 30; then exit 0; fi
if test $HOUR -eq 17 -a $MINUTE -gt 30; then exit 0; fi
if test $HOUR -gt 17; then exit 0; fi

# All checks passed; we should run the script now.
exec script.sh ... long list of parameters ...

Це дозволяє для кодування критеріїв виконання більш складних, ніж синтаксис cron легко, за відносно невеликих витрат регулярно викликати оболонку та окремий сценарій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.