2011-03-04 5 views
0

J'ai essayé de faire tourner mon script chaque jour à 06:01.Aide Crontab/shellscript

Le script extrait les données et les affiche dans un fichier .xml comme suit.

#!/bin/sh 

tv_grab_se_swedb --days 1 --quiet --output=/www/tv/tv.xml 

Priviligies

-rwxrwxrwx 1 root root  68 Mar 4 10:31 fetchdata.sh* 

Maintenant, quand je lance le script il fonctionne et je reçois ma sortie dans le fichier .xml et son charme.

donc je voulais ajouter à crontab pour exécuter ce script tous les jours ..

entrée crontab

# m h dom mon dow command 
0 6 * * * /www/tv/fetchdata.sh 

Mais en quelque sorte le tv.xml est toujours vide après ce script a été couru.

Une solution à cela? Ai-je oublié quelque chose?

-Anders

Répondre

2

Lorsque vous exécutez fetchdata.sh de la ligne de commande, variable $ PATH diffère de quand thist script exécute throught cron.

Peut être tv_grab_se_swedb ne se trouve dans aucune de PATH de $ et ne peut être exécuté

solution Simpliest: réécrire fetchdata.sh avec fullpath à tv_grab_se_swedb (quelque chose comme/usr/local/bin/tv_grab_se_swedb)

+0

Cela a fait l'affaire merci! – Anders

3

Vérifiez pour vous assurer que tv_grab_se_swedb est dans un emplacement qui est dans le $PATH que cron utilise.

Probablement neuf fois sur dix, les erreurs «inexplicables» dans les tâches cron se résument à des problèmes de chemin.

+0

Cela a fait l'affaire merci! – Anders