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

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

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

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

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

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

1回答

3222閲覧

ファイルパスを絶対パスにしてるにも掛からわず参照出来ない

yuki_90453

総合スコア326

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

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

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

0クリップ

投稿2017/02/16 02:39

いつもお世話になっております。
メール受信をトリガーにして、プログラムを動くようにしているのですがプログラムのパスを絶対パスにしているにも関わらず、参照出来ません。
別ファイルに分けてインクルードのは、"/etc/aliases" 内で直接コマンドを指定すると作成されるファイルの所有者・グループが “nobody:nogroup” になってしまうのを防ぐためです。

###メールログ

Command died with status 1: " cd /var/www/html/Ruby/Application/stock_sync && /usr/local/rbenv/shims/bundle exec /usr/local/rbenv/versions/2.3.1/bin/ruby mailTrigger.rb". Command output: sh: line 0: cd: /var/www/html/Ruby/Application/stock_sync: Not a directory

###aliases
/etc/aliases

info: info, :include:/home/mail_trigger

###シェルスクリプト
/home/mail_trigger
ここに書かれているパスが参照出来ません。

"| cd /var/www/html/Ruby/Application/stock_sync && /usr/local/rbenv/shims/bundle exec /usr/local/rbenv/versions/2.3.1/bin/ruby mailTrigger.rb"

###環境
centos6.8

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

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

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

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

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

guest

回答1

0

ベストアンサー

解決したわけではなくこちらに続くようです。
(https://teratail.com/questions/66045)メール受信時に動くコードをRoot権限で実行したい


/var/www/html/Ruby/Application/stock_sync: Not a directory

とのエラーメッセージですが
/var/www/html/Ruby/Application/stock_syncはディレクトリですか?ファイルなのでは?
cdで移動したいディレクトリが/var/www/html/Ruby/Application/ではないでしょうか?

"| cd /var/www/html/Ruby/Application/ && /usr/local/rbenv/shims/bundle exec /usr/local/rbenv/versions/2.3.1/bin/ruby mailTrigger.rb"

投稿2017/02/16 02:46

編集2017/02/16 04:28
Y.H.

総合スコア7914

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

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

yuki_90453

2017/02/16 02:49

回答ありがとうございます。 /var/www/html/Ruby/Application/stock_syncはディレクトリです。mailTrigger.rbのファイルを格納しています。
Y.H.

2017/02/16 02:58

cd /var/www/html/Ruby/Application/stock_sync を実行して移動できますか?
yuki_90453

2017/02/16 02:59

念の為、コピペでパスを貼ってみましたが問題なく移動出来ました。
Y.H.

2017/02/16 03:10

うーん。お役にたてなさそうです。(ぽちっとマイナス評価しておいてください。) cdコマンドが「Not a directory」とエラー出力しているのでディレクトリ以外だと思ったのですが。 権限系なら「Permission denied.」 が出力されるはずなので。
yuki_90453

2017/02/16 03:13

シェルスクリプト単体で動かしても「"| cd /var/www/html/Ruby/Application/ && /usr/local/rbenv/shims/bundle exec /usr/local/rbenv/versions/2.3.1/bin/ruby mailTrigger.rb" そのようなファイルやディレクトリはありません」 返されてしまいます。
Y.H.

2017/02/16 03:17

ためしに前後の"を削除してみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問