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

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

新規登録して質問してみよう
ただいま回答率
85.47%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

Ruby on Rails 6

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

Q&A

解決済

1回答

410閲覧

Cent OS7 cronを使用して指定した時間にRails serverを立ち上げる

mobile105

総合スコア20

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

Ruby on Rails 6

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

0グッド

0クリップ

投稿2020/05/07 15:46

前提・実現したいこと

Cent OS7 cronを使用して指定した時間にRails serverを立ち上げる

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

log

1CROND[7669]: (root) CMD (/root/app/home/rails_server_start.sh) 2CROND[7668]: (root) CMDOUT (/root/app/home/rails_server_start.sh: line 2: rails: command not found)

該当のソースコード

#Rails Server Start 25 0 * * * root /root/app/home/rails_server_start.sh
rails_server_start.sh #!/bin/bash rails s -d --binding=0.0.0.0

試したこと

色々調べたところパスが通ってない可能性があるということでおそらくRubyのパスが通っている.bash_profileにはたどり着いたのですがどのようにcronにRubyのパスを通すのかが分からず困っています。

# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="/usr/bin/mysql/bin:$PATH"

補足情報(FW/ツールのバージョンなど)

Cent OS7
Ruby 2.6.5
Rails 6.0.1

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

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

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

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

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

guest

回答1

0

ベストアンサー

.bash_profileの後ろ3行を、rails_server_start.shにも書きます。

投稿2020/05/07 22:27

otn

総合スコア84710

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

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

mobile105

2020/05/08 13:30

ありがとうございます! うまくコマンドは走るようになったのですがcronで実行したときだけなぜか下記のようなエラーが出力されてしまうという現象に現在は悩まされています。 普通にターミナルからrails s -d --binding=0.0.0.0を実行する場合は問題ないのですが。 (/root/app/home/rails_server_start.sh) (=> Booting Puma) (=> Rails 6.0.1 application starting in development ) (=> Run `rails server --help` for more startup options) (warning Integrity check: System parameters don't match) (error Integrity check failed) (error Found 1 errors.) (========================================) ( Your Yarn packages are out of date!) ( Please run `yarn install --check-files` to update.) (========================================) (To disable this check, please change `check_yarn_integrity`) (to `false` in your webpacker config file (config/webpacker.yml).) (yarn check v1.22.4) (info Visit https://yarnpkg.com/en/docs/cli/check for documentation about this command.) config/environment.rbに下記を記載するとyarnのエラーチェックを回避できるような記事を見つけたので試してみましたが同じ結果です。 config.webpacker.check_yarn_integrity = false config/webpacker.ymlの中身も下記のような記述になっております。 check_yarn_integrity: false
otn

2020/05/08 13:45 編集

> 普通にターミナルからrails s -d --binding=0.0.0.0を実行する場合は問題ないのですが。 ホームディレクトリでですか?
mobile105

2020/05/08 13:58

情報が足りておらず申し訳ございません。 rails s -d --binding=0.0.0.0を実行しているディレクトリは下記のディレクトリです。 ~/app/home rails_server_start.shの中身は下記の通りです。 #!/bin/bash export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="/usr/bin/mysql/bin:$PATH" cd ~/app/home rails s -d --binding=0.0.0.0
otn

2020/05/08 14:21

node関係の環境変数って、何か設定してますか? その他、必要そうな環境変数が無いか、envで確認してください。
mobile105

2020/05/08 15:13

envを確認してみたところ怪しい記述を発見したのでrails_server_start.shの文頭に下記のように追加したところ正常に動作しました! PATH=/usr/bin/mysql/bin:/root/.rbenv/shims:/root/.rbenv/bin:/root/.vscode-server/bin/d69a79b73808559a91206d73d7717ff5f798f23c/bin:/usr/bin/mysql/bin:/root/.rbenv/shims:/root/.rbenv/bin:/root/.vscode-server/bin/d69a79b73808559a91206d73d7717ff5f798f23c/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin 目標は達成できましたが中身が全く理解出来ていないのでlinuxの基礎の勉強が必要かもしれません。。 ともあれ色々教えていただき本当にありがとうございました。 また機会がありましたらぜひご教示いただきたいと思います。
otn

2020/05/08 15:54

環境変数設定は、質問文に書いてあることだけじゃ無かったと言うことですか。 それではちょっと分からない。 教えられることだけ書いておくと、コマンドラインで動いて、cronからだと動かないのは、 ・環境変数の違い(90%) ・カレントディレクトリの違い(9%) ・その他の環境の違い(1%) みたいな感じですかね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問