Executa um script de shell usando o cron

0

Eu tenho esse FeedIndexer.sh :

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

Apenas para executar o FeedIndexer.jar, que está no mesmo diretório que o .sh , eu gostaria de executá-lo usando o crontab, então fiz isso:

# /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
#

Mas não sei como executá-lo. Eu cometi algum erro?

    
por Wuffers 27.05.2010 / 16:44

3 respostas

1

Você não precisa da parte run-parts . run-parts é usado para executar todos os scripts em um determinado diretório, e você só precisa executar um script, que é tratado pelo próprio cron . Então, isso deve funcionar:

01 01 * * * root /home/slosada/workspace/FeedIndexer/target/FeedIndexer.sh
    
por 21.11.2010 / 10:02
0

Você já tentou usar campos de hora e minuto com um dígito:

1 1 * * * 
    
por 27.05.2010 / 16:48
0

Vou adivinhar com base em todos os "não está funcionando!" que o trabalho tinha a intenção de executar a cada hora, o que não é o que você escreveu.

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

Os campos minuto e hora são ambos 1. Isso significa que quando a hora atual é 1 e o minuto é 1, o trabalho deve ser executado, o que acontece somente às 1:01 da manhã. Se você quiser que o trabalho seja executado a cada hora, faça:

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

Isso será executado sempre que o minuto atual for 0, o que acontece naturalmente a cada hora

    
por 27.05.2010 / 17:05

Tags