16

ruby スクリプトを実行する cron ジョブを作成したいと考えています。これは私がcrontabに入れたものです。

2 * * * * ruby /home/mark/project/script.rb >> /home/mark/cronOutput.txt

しかし、実行されていません。cron をルートとして実行すると、環境がロードされることに問題があると思います。

助けてください。

4

5 に答える 5

15

Ruby が非標準パスにある場合、個人的には、Ruby 呼び出しをシェル スクリプトでラップするのが好きです。これにより、Ruby プログラムが必要とするすべてのパスなどが正しく設定され、crontab でスクリプトがスケジュールされます。次のようなことをします

2 * * * * /home/mark/project/ruby_wrapper_sh >> /home/mark/cronOutput.txt 2>&1

/home/mark/project/ruby_wrapper_sh は次のようになります。

#!/bin/bash

. ~mark/.bash_profile 
`ruby /home/mark/project/script.rb`
于 2012-08-22T05:17:42.050 に答える
3

Railsでcronジョブを使用するには、いつでも(https://github.com/javan/whenever )gemを確認してください

于 2012-08-22T05:14:15.177 に答える
1

彼の解決策について@saihgalaに感謝しますが、私はこのように少し変更されています。#!/usr/bin/env rubyruby 実行可能ファイルの先頭に stingを追加 します。

このファイルの権限を追加し、crontab file edit を起動しますcrontab -e

追加*/1 * * * 0-5 /path/to/executable.rb>>/path/to/output.txtすると、うまくいきます。

于 2020-01-28T12:54:23.873 に答える