Как делать задание крона каждые 72 минуты

Как так? Это точно говорит вам, что делать. Программа должна получить два файла CSV: файл CSV, содержащий все данные тренировки, и второй файл CSV, содержащий все данные проверки.

Если вы посмотрите на файл Program.java (в основном методе), вы увидите, что вам нужно передать оба файла в качестве аргументов в командной строке.

14
задан WhiteKnight 3 May 2012 в 12:02
поделиться

7 ответов

Использовать в (мужчина в). Попросите ваше приложение или сценарий запуска рассчитать время запуска через 72 минуты в будущем и запланируйте сам запуск снова, прежде чем он начнет работать.

Доступно также в Windows XP и Vista.

Вот пример для gnu / linux: at -f command.sh сейчас + 72 минуты

25
ответ дан 1 December 2019 в 05:53
поделиться

Поскольку cron выполняет задания по времени, а не по интервалам, ослепительно простого способа не существует сделать это. Однако, хотя это немного хакер, вы можете установить несколько строк в crontab , пока не найдете общий знаменатель. Поскольку вы хотите, чтобы задание запускалось каждые 72 минуты, оно должно выполняться в следующее время:

  • 00:00
  • 01:12
  • 02:24
  • 03:36
  • 04:48
  • 06:00
  • 07:12
  • ...

Как видно, шаблон повторяется каждые 6 часов с 5 заданиями. Таким образом, у вас будет 5 строк в вашем файле crontab :

0  0,6,12,18  * * * command
12 1,7,13,19  * * * command
24 2,8,14,20  * * * command
36 3,9,15,21  * * * command
48 4,10,16,22 * * * command

Другой вариант, конечно, заключается в создании демона-оболочки или скрипта оболочки, который выполняется и спит в течение требуемого времени, пока не будет остановлен.

38
ответ дан 1 December 2019 в 05:53
поделиться

Вы всегда можете использовать метод запуска cron каждую минуту и ​​немедленного выхода из вашего скрипта, если он был запущен больше недавно, чем 72 минуты назад.

4
ответ дан 1 December 2019 в 05:53
поделиться

Не используйте cron ...

#!/bin/sh
while [ true ] 
do
     sleep 4320
     echo "Put your program here" &
done
2
ответ дан 1 December 2019 в 05:53
поделиться

Вы не можете напрямую сделать это из cron / crontab.

Задания Cron запускаются по определенному расписанию, а не по определенный интервал.

Одной из альтернатив может быть разработка расписания, которое приблизительно соответствует вашим «каждые 72 минутам», путем выполнения в полночь 1:12, 2:24, 3:36, ... и растягивания его до Приблизительно наезд в полночь. Ваш файл crontab может указывать все эти времена как время выполнения.

Другой альтернативой может быть отдельное приложение, которое обрабатывает планирование и запускает ваше приложение.

3
ответ дан 1 December 2019 в 05:53
поделиться

Для этого вам нужно будет установить ровно 20 задач - т.е. поставить одну в 00:00, следующую в 01 : 12, следующий в 02:24 и т. Д.

20 итераций составляют полный рабочий день.

К сожалению, это единственный способ сделать это, поскольку задачи cron заранее устанавливаются в фиксированном расписании, а не запустить, скажем, «через X минут последнее задание было выполнено».

2
ответ дан 1 December 2019 в 05:53
поделиться

Я знаю, что это уже давно пора, но я изучал некоторые проблемы с расписанием и увидел этот вопрос.

Просто сделайте это в своем crontab

* / 72 * * * * /home/script.sh

-4
ответ дан 1 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: