У меня есть этот FeedIndexer.sh:

#!/bin/sh java -jar FeedIndexer.jar

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

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root    cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
01 01 * * * root run-parts --report /home/slosada/workspace/FeedIndexer/target/FeedIndexer.sh
#

Но я не знаю, как его запустить. Я сделал какую-нибудь ошибку?

3 ответа3

1

Вы не нуждаетесь в run-parts . run-parts используется для запуска каждого скрипта в определенном каталоге, и вам нужно запустить только один скрипт, который обрабатывается самим cron . Итак, это должно работать:

01 01 * * * root /home/slosada/workspace/FeedIndexer/target/FeedIndexer.sh
0

Вы пробовали использовать однозначные поля часов и минут:

1 1 * * * 
0

Я собираюсь дико догадаться, основываясь на всем "это не работает!"«что работа должна была выполняться каждый час, а это не то, что вы написали.

01 01 * * * root run-parts --report /home/slosada/workspace/FeedIndexer/target/FeedIndexer.sh

Поля минут и часов равны 1. Это означает, что если текущий час равен 1, а минута - 1, задание должно выполняться, что происходит только в 1:01 утра. Если вы хотите, чтобы работа выполнялась каждый час, выполните:

0 * * * * root run-parts --report /home/slosada/workspace/FeedIndexer/target/FeedIndexer.sh

Это будет работать всякий раз, когда текущая минута равна 0, что, естественно, происходит каждый час

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .