Как выполнить задание cron с циклическим аргументом?

Я хочу запустить скрипт bash каждые 5 минут с предопределенным аргументом в соответствии с циклом.

Например, я хочу использовать в качестве аргумента 1, 2, 5, 10, 15, 50, 15, 10, 5, 2, а затем снова запустить цикл.

В идеале аргументы хранятся в файле или в скрипте, где я могу легко редактировать их, добавлять или удалять некоторые и т. Д.

Как мне это сделать ?


Я мог бы сделать это с помощью одного скрипта, массива и while [[ true ]] но я хотел бы знать, могу ли я сделать это с помощью cron.

One Solution collect form web for “Как выполнить задание cron с циклическим аргументом?”

Вероятно, самым эффективным и одним из более простых способов добиться этого было бы заставить обработчик скрипта отслеживать цикличность магического числа, а не использовать аргументы. Что-то вроде этого:

 #!/bin/bash sequence=(1 2 5 10 15 50 15 10 5 2) if [[ -r /var/tmp/myjob.seq ]]; then seq="$(cat /var/tmp/myjob.seq)" if [[ $seq -lt $((${#sequence[@]}-1)) ]]; then nextseq=$(($seq+1)) else nextseq=0 fi echo $nextseq > /var/tmp/myjob.seq else seq=0 echo 1 > /var/tmp/myjob.seq fi magicnumber=${sequence[$seq]} 

Затем вы можете ссылаться на $magicnumber позже в скрипте и использовать любой график cron, который вам нравится.

  • Замените что-либо между круглыми скобками, даже если они охватывают несколько строк
  • Как синхронизировать два диска (или папки) с использованием символических (или жестких) ссылок (например, rsync)?
  • Предсказывать имя файла перед загрузкой с URL-адреса, в сценарии оболочки
  • Меню KSH, основанное на тексте, с использованием STDERR
  • sudo script - лучшая практика?
  • Сценарий оболочки Loop, если входной файл имеет больше входных данных
  • Как создать кучу файлов с разными параметрами в теле каждого файла?
  • Как выполнить удаленный сценарий с помощью «экранов»?
  • Как мне ожидать «echo -e»? \ С»?
  • Форматирование внешнего жесткого диска с помощью скрипта Bash
  • Как проверить программные переменные среды SLURM?
  • Linux и Unix - лучшая ОС в мире.