プロが教えるわが家の防犯対策術!

 さくらインターネットでcron設定を使って月末になると起動するphpを読み込もうとしたいのですが、どうやっても上手くいきません。
いろいろと参考になるサイトはあるのですが、動かない理由がわからないのでどなたか教えてください。

 まず、cron設定で設定しているシェルのファイルが置いてあるパスに間違いはありません。

 次にシェルファイルに書いてあるコードは以下です。

#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
cd /home/自分のID/www/自分で作ったフォルダ/; ./自分で作ったフォルダ/phpファイル

という風に書いてあります。

ところが、時間になるとこれが実行されず、
サーバーよりエラーメールが届きます。

[not found]と一言。

…最初、シェルファイルの階層が間違っているかと思ったのですが、
どう見てもあってますし…中身が問題なのかなぁ、と考えます。

何かわかれば、是非教えてください。
お願いします。

A 回答 (5件)

#!/bin/sh


PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
cd /home/自分のID/www/自分で作ったフォルダ/
php phpファイル

上記のtypoじゃないすかね。
命令終了はセミコロンじゃないです。
cronでphpファイルを起動させるだけなら別に.shファイル使わなくても
直接crontabにphp起動コードを書けば良いと思いますよ。

0 0 1 * * php /home/自分のID/www/自分で作ったフォルダ/phpファイル


>PATH
php実体へのパスが通っていないパターンを考慮すれば別に記述があっても不自然ではないと思いますが・・・
    • good
    • 0
この回答へのお礼

できました!wp_さん!!
直接、ここで書けばよかったんですね!
てっきりシェルコマンドを使わないとできないものだ、と
認識していました。
もう少し勉強して知識を深めていきますね。

お礼日時:2007/10/31 17:21

なんか盛り上がってますね。


phpコマンドが通る場合は
#!/bin/sh
php /home/...../phpファイル

で良いと思います。
しかし、CLIインストールされていない場合もあると思います。

インターネット経由でwgetやcurl等でたたくという方法もありますよ
wget http://localhost/ファイル名

参考まで。
    • good
    • 0
この回答へのお礼

ありがとうございます!
いろいろ皆さんの意見を見ていて考えていたらできました!!

お礼日時:2007/10/31 17:21

>[not found]と一言。


当たり前。
>cd /home/自分のID/​www/​自分で作ったフォルダ/; ./自分で作ったフォルダ/phpファイル
まずなんで「cd」(ディレクトリ移動)?
しかもディレクトリですらない「phpファイル」にディレクトリ移動ができると思いますか?
>PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
しかもこの無駄なパス通しはなんのため?
シェルスクリプト以前にコマンドの使い方を勉強すべき。
    • good
    • 0
この回答へのお礼

ありがとうございます。
サクラインターネットに関する記事を参考にしながら
ソースを書いていたのでそこから探っていたんです。
しかし、いろいろ指摘を受けてわかりました。

お礼日時:2007/10/31 17:19

phpはCLIで動くようになっていますか?


なっているなら、CLIで動かすファイルの最初に
「#!/usr/local/bin/php」みたいに、CLIのphpがインストールしている場所を指定して、実行権を付けていれば実行できるはずです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
何とか動かすことができたようです。
CLIというをもう少し調べてみますね。

お礼日時:2007/10/31 17:18

php ./自分で作ったフォルダ/phpファイル



みたいに、ちゃんとコマンドを起動してファイルを渡さなきゃ。ファイルを
ダブルクリックしたらOSが勝手にそれらしいコマンドを起動してくれるわけ
じゃないんだから。
    • good
    • 0
この回答へのお礼

ありがとうございます。
初めて触ったところでいろいろと自分なりにも
調べてみたのですが、理解ができませんでした。

お礼日時:2007/10/31 17:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!