質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

4391閲覧

wheneverでエラーメッセージが出ます。

s.k

総合スコア423

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/03/01 17:56

編集2017/03/02 04:01

###前提・実現したいこと
wheneverを起動させ、twitter botを作成したいです。

###発生している問題・エラーメッセージ

&whenever 0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /bin/bash -l -c 'cd /home/ubuntu/workspace && RAILS_ENV=development bundle exec rake twitter:tweet --silent >> log/crontab.log 2>&1' ## [message] Above is your schedule file converted to cron syntax; your crontab file was not updated. ## [message] Run `whenever --help' for more options.

このエラーが調べたのですが、何を表しているのかわかりません。。。

###該当のソースコード

【config/schedule.rb】

require File.expand_path(File.dirname(__FILE__) + "/environment") set :output, 'log/crontab.log' set :environment, :development #2時間ごとに動かす every 2.hours do rake 'twitter:tweet' end

【lib/tasks/twitter.rake】

require 'open-uri' namespace :twitter do desc "random_tweet" task :tweet => :environment do twitter_client tweet = Tweet.order('rand()').first status = tweet.text media = open(tweet.image) @client.update_with_media(status, media) end end def twitter_client @client = Twitter::REST::Client.new do |config| config.consumer_key = "秘密" config.consumer_secret = "秘密" config.access_token = "秘密" config.access_token_secret = "秘密" end end

この rake taskはコマンドでは動きますが、
wheneverになると動いてくれません。。。

ご経験ある方、御指南お願いします。

###補足情報(言語/FW/ツール等のバージョンなど)
こちらの記事を参考に制作しました。

###追記

本番環境にあげると以下のようなエラーが出ました。

Subject: Cron <anime@tk2-241-30026> /bin/bash -l -c 'cd /home/anime/bot/releases/20170225080837 && bundle exec script/runner -e development '\''Bot.test'\'' >> log/crontab.log 2>&1' Content-Type: text/plain; charset=UTF-8 Auto-Submitted: auto-generated X-Cron-Env: <LANG=ja_JP.UTF-8> X-Cron-Env: <LC_ALL=en_US.utf-8> X-Cron-Env: <LC_PAPER=ja_JP.UTF-8> X-Cron-Env: <LC_ADDRESS=ja_JP.UTF-8> X-Cron-Env: <LC_MONETARY=ja_JP.UTF-8> X-Cron-Env: <LC_NUMERIC=ja_JP.UTF-8> X-Cron-Env: <LC_TELEPHONE=ja_JP.UTF-8> X-Cron-Env: <LC_MESSAGES=ja_JP.UTF-8> X-Cron-Env: <LC_IDENTIFICATION=ja_JP.UTF-8> X-Cron-Env: <LC_COLLATE=ja_JP.UTF-8> X-Cron-Env: <LC_MEASUREMENT=ja_JP.UTF-8> X-Cron-Env: <LC_CTYPE=ja_JP.UTF-8> X-Cron-Env: <LC_TIME=ja_JP.UTF-8> X-Cron-Env: <LC_NAME=ja_JP.UTF-8> X-Cron-Env: <PATH=/home/ubuntu/.nvm/versions/node/v4.6.1/bin> X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/home/anime> X-Cron-Env: <LOGNAME=anime> X-Cron-Env: <USER=anime> Message-Id: <20170302035401.DEF9F4E011A@tk2-241-30026.vs.sakura.ne.jp> Date: Thu, 2 Mar 2017 12:54:01 +0900 (JST) /etc/profile: line 31: id: command not found /usr/bin/env: bash: No such file or directory /etc/profile: line 64: id: command not found /etc/profile: line 64: id: command not found

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

こちらの記事は試してみました?

bash

1bundle exec whenever --update-crontab

cronが動いていないエラーメッセージにみえるので,cronコマンドにパスが通ってるかなども確認してみるといいと思います。

投稿2017/03/02 02:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s.k

2017/03/02 03:11

紹介していただいた記事ですと、僕の設定はうまくいくはずなんですが、、、
退会済みユーザー

退会済みユーザー

2017/03/02 03:20

うーん、あとはpermissionを確認してみるとかですかね。 一度違うtaskでcronを回してみると何かわかるかもしれません。
s.k

2017/03/02 03:23

わかりました!
guest

0

自己解決

updateをしていないだけでした。

投稿2017/03/08 02:38

s.k

総合スコア423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問