Выполните сценарий оболочки с помощью крона

У меня есть это 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
#

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

0
задан 29.03.2011, 01:15

3 ответа

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

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, который естественно происходит каждый час

0
ответ дан 24.11.2019, 12:31

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

1 1 * * * 
0
ответ дан 24.11.2019, 12:31

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

01 01 * * * root /home/slosada/workspace/FeedIndexer/target/FeedIndexer.sh
1
ответ дан 24.11.2019, 12:31

Теги

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