アプリ版:「スタンプのみでお礼する」機能のリリースについて

これまで別のレンタルサーバで動作していたcronをさくらVPSでも動作させたいのですがうまくいきません。

■これまで(レンタルサーバ)
1.cronにshファイルを指定
2.shファイル
cd /var/www/★★
/usr/local/bin/php -d include_path='.:./●●.php

■今回(さくらVPS)
/etc/crontab/
05 7 * * * root /usr/bin/php /var/www/■■.sh


・どうしたら動作するでしょうか?
・/etc/crontab/の指定先は「phpファイル」「shファイル」の何れを指定するのでしょうか?

A 回答 (1件)

cronは単に指定時刻にコマンドを呼ぶものです。


呼ばれるコマンドはシェルスクリプトだろうがperlスクリプトだろうがコンパイルされたコマンドだろうが関係ありません(何でも使える)。

>・どうしたら動作するでしょうか?

そもそもそのスクリプトを手動で起動するとちゃんと動くのでしょうか?

それで問題が無い場合、そもそもcronを使うことが許可されているユーザかどうかとか、スクリプト内の各種パスはあっているかを確認してはいかがでしょうか。
また環境変数についても確認した方がいいかもしれません。

できればcronのログを見てちゃんと起動されているかも確認してください。

この回答への補足

回答ありがとうございます。

>手動で起動するとちゃんと動くのでしょうか?
・手動で起動とはどうやるのでしょうか?

試しに下記を打ったら
# su - root -c "/var/www/■■.sh"

エラー
-bash: /var/www/■■.sh: /bin/sh^M: bad interpreter: そのようなファイルやディレクトリはありません


■■.shファイル内容
#!/bin/sh
#php

cd /var/www/★★
以下略~

補足日時:2013/08/17 12:32
    • good
    • 0

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