comment créer une tâche cron pour exécuter un script ruby?
Je veux créer une tâche cron pour exécuter un script ruby. c'est ce que j'ai mis dans la crontab.
2 * * * * ruby /home/mark/project/script.rb >> /home/mark/cronOutput.txt
Mais ce n'est pas en cours d'exécution. Je pense qu'il y a un problème avec l'environnement de prise en charge de jusqu'lorsque le cron s'exécute en tant que root.
S'il vous plaît aider.
Êtes-vous prêt à exécuter du code dans les rails puis d'écrire un
Rien dans le con nécessité adresse complète
l'utilisation active de foc sidekiq
rake task
et de l'exécuter à l'intérieur de cron.Rien dans le con nécessité adresse complète
which ruby
, which script
et où l'info.l'utilisation active de foc sidekiq
OriginalL'auteur Saicharan S M | 2012-08-22
Vous devez vous connecter pour publier un commentaire.
Si votre ruby est non standard chemins puis, personnellement, j'aime enrouler ma ruby appels dans un script shell, de sorte que tous les chemins d'accès, etc. mon ruby besoins du programme sont correctement réglés, et de planifier le script dans la crontab. Faire quelque chose comme
et votre /home/marc/projet/ruby_wrapper_sh devrait lire quelque chose comme
J'ai juste donné un exemple, votre compte d'utilisateur peut être configuré à l'aide d'un .profil ou fichier /etc/profile. Vous aurez besoin de modifier cette ligne en fonction de votre environnement, avant d'exécuter le script. Tant que vous êtes en mesure de fixer et d'exécuter ce script en ligne de commande, vous ne devriez pas avoir de problèmes de fonctionnement à travers cron
J'ai essayé de lancer le script en tant que root via le terminal. J'ai utilisé su pour passer en root. Beaucoup de BEC erreurs. L'environnement présents dans l'utilisation de la marque n'est pas chargé lorsque je passe à root. C'est le problème.
et fonctionne lorsque vous exécutez en tant que marque d'utilisateur? Aussi pour info -
su <user>
ne prendra pas en charge<user>'s
environnement, maissu - <user>
ne charger.Pas toujours les mêmes erreurs. L'utilisateur est changé de marque, mais les erreurs subsistent.
OriginalL'auteur saihgala
Vérifier à chaque fois qu'(https://github.com/javan/whenever) gem à utiliser cron emplois dans les Rails
Pouvez-vous expliquer le problème que vous rencontrez dans l'exécution de la tâche de la crontab? Vous pouvez vérifier le fichier /var/log/syslog pour voir si vos méthodes dans la crontab sont effectivement en cours d'exécution.
Tout ce que je veux faire est d'exécuter un script ruby toutes les 5 minutes ou alors.. je ne suis pas en mesure de le faire. Et oui j'ai vérifié syslog ma tâche cron pour exécuter le script ruby est arriver exécuté
OriginalL'auteur Krishna Srihari
Si vous utilisez RVM, vous pouvez tout simplement faire:
De référence:
https://coderwall.com/p/vhv8aw/getting-ruby-scripts-working-with-bundler-rvm-and-cron
crontab -l > somefile.txt
OriginalL'auteur muhammadn
de travail sur centos
dans votre terminal exécuter
# which ruby
qui est de trouver vos ruby cheminexemple de sortie
/usr/bin/ruby
Vous pouvez alors modifier votre tâche cron, à l'aide de la commande " crontab-e
* * * * * /usr/bin/ruby /home/mark/project/script.rb
et de l'enregistrer, il suffit de travailler sur mon serveur centos.
Vous pouvez tester le premier code à l'aide de cette commande avant de vous modifier votre tâche cron
#/usr/bin/ruby /home/mark/project/script.rb
il convient de travail d'abord, puis vous pouvez mettre sur votre crontab
Oh, okey, désolé
OriginalL'auteur rosada