本番環境でのWheneverの設定エラー
解決済
回答 1
投稿
- 評価
- クリップ 1
- VIEW 1,124
前提・実現したいこと
本番環境でcrontabを設定し、定期的に自動でrake commandを動かしたいです。
発生している問題・エラーメッセージ
新しいメールがなん度も届きます。
メールのエラー文のみを記します。
/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
コマンドが見つからないということですが、パスが間違っているのでしょうか?
該当のソースコード
【メール全文】
From root@tk2-241-30026.vs.sakura.ne.jp Sat Mar 4 14:35:01 2017
Return-Path: <root@tk2-241-30026.vs.sakura.ne.jp>
X-Original-To: anime
Delivered-To: anime@tk2-241-30026.vs.sakura.ne.jp
Received: by tk2-241-30026.vs.sakura.ne.jp (Postfix, from userid 503)
id DABD44E029B; Sat, 4 Mar 2017 14:35:01 +0900 (JST)
From: root@tk2-241-30026.vs.sakura.ne.jp (Cron Daemon)
To: anime@tk2-241-30026.vs.sakura.ne.jp
Subject: Cron <anime@tk2-241-30026> /bin/bash -l -c 'cd /home/anime/deploy/releases/20170304051211 && RAILS_ENV=production bundle exec rake scraping:scraping --silent >> 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: <20170304053501.DABD44E029B@tk2-241-30026.vs.sakura.ne.jp>
Date: Sat, 4 Mar 2017 14:35: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
【/etc/profile】
fi
esac
}
if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`id -u`
UID=`id -ru`
fi
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
pathmunge /sbin after
fi
HOSTNAME=`/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
export HISTCONTROL=ignoreboth
else
export HISTCONTROL=ignoredups
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null 2>&1
fi
fi
done
unset i
unset -f pathmunge
【/usr/bin/env】
ELF>?@@_@@ @@@@@?@@@@?O?O PP`P`?@ HQHQ`HQ`?@@DDP?td?D?D@?D@??Q?t/lib64/ld-linux-x86-64.so.2GNUGNU.r??????S??)???C??N1@ 0`12G-??>K????y?c*+Ը??1?z? ?>?|^???????9??@L$???W2?HX???+?!Er'Ri
?T`?B@/? @??T T??XB`T??X?x?`S`%0R4?S`%R4?S`%?R4T`%??R40?8R4????????8?8R4????????@?8R4`?8R4????????x?8R4????????x?8R4??????????8R4????????8R4????????P?8R4????????`?8R4??????????8R4?????????8R4%`R40?8R4% R4???Q4?R4???Q4??R4???Q2ti4???Q<ui4???QH?R`?R`?R`R4ii
?R`S`S``2S`3 S`'(S`)0S`48S`5@S`0`S`hS`pS`xS`?S`?S?S` ?S`
?S`
+H???5?C ?%?C @?%?C h??????%?C h??????%?C h??????%?C h?????%?C h?????%?C h?????%?C h?????%?C h?p????%?C ?`????%?C h ?P????%?C h
?@????%?C h
?0????%?C h
?????%rC h?????%jC h??????%bC h??????%ZC h??????%RC h??????%JC h?????%BC h?????%:C h?????%2C h?????%*C h?p????%"C h?`????%C h?P????%C h?@????%
C h0????%C h? ????%?B h?????%?B h?????%?B h??????%?B h ??????%?B h!??????%?B h"??????%?B h#????1?I??^H??H???PTI???9@H???9@H???@?/??????H?H??@ H??t??H?Ð????????????UH??SH??=?B uK?P`H??B H??P`H??H??H9?s$fDH??H?uB ??P`H?gB H9?r??SB H?[??fff.?H?=?= UH??t?H??? P`????Ð?????????????AUATUS??H???t@H?i@ H?5(?1?H?(?;???H??H?A@ ?H??H?81????????????L?%)@ H?5?'1??I?,$??????H??1?H??????H?- @ H?5?'?1?L?m?????H??L??????L?mH?5?(?1?????L??H???????L?mH?5?(?1?????L??H???????L?mH?5)?1??d???L??H??????I?<$?h
@*H?5*H?ƿ1??????H?mH?5?(?1??????H??H???/???1???3???H??tH?=?)?H???u;I?<$? H?5Q*1??I???:???H?
H?53)H??1??????H??H?ƿ1??J????V???DI?<$?
H?5?(H??1???Q???H??H?ƿ1??????DH?\$?H?l$؉?L?d$?L?t$?H??L?l$?L?|$?H??XH?>E1?E1??H?5?*??b???H?52?9 H?(E1?H?މ??E??????tX??uu?L?5T< I?>??????t?I?>??L?-?< A?E9???H?H???:?(???@:?(?xH?i< H?Z> H?A?E?H?
H?5?'1??I???:???I???"????0L??
【deploy.rb】
・・・省略・・・
set :whenever_identifier, ->{ "#{fetch(:application)}_#{fetch(:stage)}" }
set :whenever_command, "bundle exec whenever"
set :whenever_roles, :batch # 対象のロールを指定
set :whenever_environment, :production
・・・省略・・・
【suchedule.rb】
env :PATH, ENV['PATH']
require File.expand_path(File.dirname(__FILE__) + "/environment")
set :output, 'log/crontab.log'
set :environment, :production
#2時間ごとに動かす
every 5.minutes do
rake 'scraping:scraping'
end
互恵
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.09%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
ryochin
2017/03/06 13:12
OS によりますが、おそらく /usr/bin が環境変数 $PATH に含まれていないのでしょう。which id したらどう表示されますか
s.k
2017/03/06 13:23
ありがとうございます!!さくらのVPSで行なってますが、$ which id /usr/bin/idです!