Ruby cronジョブの実行

Ruby cronジョブの実行

Digital OceanでRubyコードを実行するcronジョブを作成しようとしている間に間違いを犯したようです。エラーは発生しませんが、何もしません。私のラズベリーパイでこのcronjobを実行しましたが、デジタル海では動作しません。これは私の予定された仕事です。

59 17 * * * ruby /home/workspace/delta/analytics/analyze.rb 7 >> /home/testruby

testrubyファイルを生成しますが、analyze.rb 7は機能しません。 ruby/home/ ....を実行してテストしましたが、うまくいきます。何が問題なのでしょうか?

修正する

エラーファイル: bin/sh: 1: /usr/local/bin/ruby: 見つかりません

これは私がcrontabに書いたものです。

* * * * * /usr/local/bin/ruby /home/workspace/deriva/analytics/analyze.rb 7 >> /home/testruby 2>&1

答え1

さまざまな環境変数、作業ディレクトリ...analyze.rbをデバッグする必要がある正確な場所。

まず、標準エラーではなく標準出力のみをリダイレクトしています。後でエラーが発生する可能性があるため、2>&1末尾に を追加すると多くの役に立ちます。または、EMAIL=crontabの上部に設定してメールで受信することもできます。

Rubyスクリプトの冒頭で、Rubyが起動または類似していることを確認し、print "starting!\n"ログファイルに表示されることを確認できます。

関連情報