Как запланировать команду для выполнения каждые 2 часа?

с простым списком URL-адресов в каждой строке, это должно выполнить работу и вывести все в один файл:

while read in; do xargs curl -K "$in" >> /path/to/output.txt; done < /path/to/url.txt
0
03.11.2018, 16:47
1 ответ

Вы можете настроить crontab со следующим выражением в соответствии с вашими требованиями.

0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar &> path/to/monitor-$(date "+%Y%b%d-%H%M%S").log

Сначала вы должны проверить наличие любых существующих заданий cron, запустив crontab -l.

Если у вас еще нет заданий cron, вы можете поместить приведенную выше строку в текстовый файл (, скажем, my -cron -job.txt )и запустить crontab my-cron-job.txt, чтобы активировать его.. Затем вы можете убедиться, что задание добавлено, еще раз запустив crontab -l.

Если у вас уже есть задания cron, вам нужно запустить crontab -eи отредактировать файл crontab. Это потребует от вас работы с командой -строкового редактора (vi, по умолчанию ).

Демон cron устанавливает только ограниченное количество переменных среды, поэтому предпочтительнее указать полный путь к исполняемому файлу Java. Вам также нужно будет указать полный путь к вашему исполняемому файлу JAR.

Я предполагаю, что вы хотите собирать выходные данные команды java -jar, поэтому я добавил к этой команде файл журнала. Потоки вывода и ошибок команды будут перенаправлены в этот файл журнала, который будет называться с отметкой времени (monitor -2018Nov03 -200000.log, например ).

После того, как все настроено, вы должны отслеживать задание cron на предмет первых одного или двух запусков. Если все работает так, как вам нужно, вы можете оставить его включенным.


В качестве внешней ссылки, вот введение в задания cron. Это должно помочь вам понять, как на самом деле работает планирование.

https://www.howtoforge.com/a-short-introduction-to-cron-jobs

2
28.01.2020, 02:23

Теги

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