wie erstellen Sie einen cron-job ausführen eines ruby-Skripts?
Ich möchten, erstellen Sie einen cron-job ausführen eines ruby-Skripts. dies ist, was ich habe in die crontab.
2 * * * * ruby /home/mark/project/script.rb >> /home/mark/cronOutput.txt
Aber nicht ausgeführt wird. Ich denke, es gibt einige problem mit der Umwelt immer geladen, wenn der cron läuft als root.
Bitte helfen.
- Sind Sie bereit, um die Ausführung von code in rails schreiben Sie dann eine
rake task
und führen Sie es in cron. - Alles, was in dem con müssen die vollständige Adresse
which ruby
,which script
und wo info. - verwenden Sie active jib sidekiq
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihr ruby ist in nicht-standard Pfaden dann persönlich ich mag wickeln meinen ruby-Aufrufe in einem shell-Skript, wodurch gewährleistet ist, dass alle Pfade etc. mein ruby-Programm muss korrekt eingestellt sind, und planen Sie das Skript in die crontab. Etwas wie
und Ihre /home/Markus/Projekt/ruby_wrapper_sh sollte etwas Lesen wie
su <user>
wird nicht geladen<user>'s
Umfeld, abersu - <user>
nicht laden.export PATH=/path/to/your/ruby/interpreter:${PATH}
vor, Sie rufenruby /home/mark/project/script.rb
BefehlWenn Sie mit RVM, Sie können einfach tun:
Referenz:
https://coderwall.com/p/vhv8aw/getting-ruby-scripts-working-with-bundler-rvm-and-cron
crontab -l > somefile.txt
Überprüfen, wenn(https://github.com/javan/whenever) gem die Verwendung von cron-jobs in Rails
arbeiten auf centos
in Ihrem terminal ausführen
# which ruby
die finden Ihre ruby-PfadBeispiel für die Ausgabe
/usr/bin/ruby
Dann können Sie Ihr cronjob mit crontab -e
* * * * * /usr/bin/ruby /home/mark/project/script.rb
und speichern, diese einfach zu arbeiten auf meinem centos-server.
Testen kann man die code first verwenden Sie diesen Befehl, bevor Sie Sie Bearbeiten Ihre cronjob
#/usr/bin/ruby /home/mark/project/script.rb
sollte es sein, arbeiten zuerst, dann Sie auf Ihrem crontab