2010-11-29 23 views
1

J'ai donc un fichier R que je voudrais programmer pour fonctionner toutes les 10 minutes. J'ai créé une entrée pour le fichier dans crontab via le terminal (en utilisant crontab -e). En tant que tel:Comment planifier un script R dans crontab sur Mac Snow Leopard?

*/10 *  *  *  *  root /Users/A/Documents/code/r/r_file.r 

Lorsque j'exécute les commandes dans la console, elle s'exécute comme prévu et je peux vérifier les enregistrements dans la base de données. Cependant, avec cette configuration cron, je n'obtiens pas le résultat final.

Je l'ai fait passer le message d'erreur suivant:

/bin/sh: root: command not found 

Je suis sûr que ce soit une question totale recrue que je n'ai pas beaucoup d'expérience avec crontab. Tout conseil est grandement appréciée.

Merci,

Jason

Répondre

1

est Rscript est dans votre chemin? Plus important encore, est-ce dans le chemin de l'utilisateur exécutant le commamd, ici root? (Pensez également à exécuter la commande comme vous).

Si oui, essayez

*/10 * * * *  yourlogin Rscript /Users/..../file.R 

Testez votre compréhension de crontab avec un travail plus simple que juste stocke horodatages, peut-être

*/10 * * * *  yourlogin date > /tmp/testcrontab.txt 

Une fois que vous avez cette maîtrisé, exécuter un script simple R puis passez à votre vrai script.

+0

Merci pour votre aide Dirk. – analyticsPierce

2

La partie "racine" de votre ligne de crontab est ce qui vous bouscule. Lorsque vous utilisez crontab -e, vous ne devez pas spécifier l'utilisateur car toutes les commandes sont exécutées en tant qu'utilisateur actuel (c'est-à-dire l'utilisateur auquel vous êtes connecté lorsque vous exécutez crontab -e).

De plus, vous devez toujours utiliser des chemins complets dans votre crontab.

La ligne Cron devrait ressembler à ceci:

*/10 * * * * /path/to/Rscript /Users/A/Documents/code/r/r_file.r

+0

Non, la partie 'root' (c'est-à-dire user) est requise lorsque vous éditez'/etc/crontab' directement plutôt que d'utiliser 'crontab -e'. Ce sont simplement deux alternatives. Personnellement, j'ai aussi mes emplois utilisateur dans '/ etc/crontab'. –

+0

Droite. Mais il dit qu'il a utilisé 'crontab -e'. –

+0

Bonjour, quelqu'un peut-il me fournir un exemple de/path/to/Rscript. Je ne peux pas le faire fonctionner et je suppose que j'utilise quelque chose de mal pour ça. Merci – JordanBelf