• 締切済み
  • すぐに回答を!

xreaでのCronの設定について

xreaでのCronの設定について どうしても解決出来ないので質問させて頂きました。 やりたい事は毎時一回 /public_html/cache_cron.phpを稼働させたいです。 現在の設定はxreaのCRONジョブの編集画面にて 分 時 日 月 曜日 0 * * * * /virtual/*****/public_html/cron1.sh 分 時 日 月 曜日 0 * * * * /virtual/*****/cron1.sh 始めは上の設定だけだったのですが動かないので下の設定も追加しました。 cron1.shは /public_html/cron1.sh /cron1.sh の両方にアップしています。 これも始めは/public_html/cron1.shだけにアップしてたのですが動かなかったので追加でアップしました。 アップ方法はffftpでのアスキーモードでcron1.shの改行もLFです。 パーミッションは705です。 cron1.shの中身は #!/bin/sh #PHP /usr/local/bin/php /virtual/*****/cache_cron.php /usr/local/bin/php /virtual/*****/public_html/cache_cron.php exit です。 cache_cron.phpにブラウザで直接アクセスすると希望通りの処理は行われます。 このファイルのパーミッションも705です。 一応確認でcache_cron.phpの最後に自分の携帯にメールを送信するプログラムも追加しているのですが、 直接アクセスしない限りメールは来ません。 他に必要な情報があれば書くので宜しくお願い致します。

共感・応援の気持ちを伝えよう!

  • PHP
  • 回答数1
  • 閲覧数200
  • ありがとう数1

みんなの回答

  • 回答No.1

こんにちは。 xreaの事はよく知らないのですが・・・、 PHPがApacheのモジュールとして動作していると思われます。 この場合、コンソールなどからphpプログラムが動かない、Apacheを介さないとメール送信ができない、などといった事になります。 xreaのサポートに質問するのが一番いいかと・・・。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • CORESERVERでCRONジョブが実行されない

    この手の情報はネット上に沢山あるので自分なりに調べたのですが解決に至りませんでしたので質問させてください。 やりたいことは、CORESERVERのCRONジョブで設定した時間にcron.shを動かしてtest.phpを実行したいです。 ■現状 ・CRONジョブは毎日午前11時に動作するように設定 0 11 * * * ・CORESERVERからCRONジョブのエラーや成功メールが1通も届かない ・Tera Term で直接CRONを実行したが500エラーが返ってくる ・シェルスクリプトで動かしたいPHPファイルに問題はなかった(直接実行して成功) ■やったこと cron.shをCORESERVERのトップディレクトリに設置 /virtual/ユーザー名/cron.sh cron.shに記述した内容は #!/bin/sh #PHP /usr/local/bin/php /virtual/ユーザー名/public_html/サイトディレクトリ/php/test.php exit です。cron.shのパーミッションは705にしました。改行コードはLFです。 test.phpまでのディレクトリのパーミッションも705になっています。test.phpのパーミッションは644です。 Tera Term に入力したコマンド? sh /virtual/ユーザー名/cron.sh 上記を決定すると以下のスターテスが返ってきました。 Status: 500 Internal Server Error Content-type: text/html 何か根本的な間違いをしているのでしょうか? アドバイスをお願いいたします。

  • コアサーバー(coreserver)でのcronの設定について

    こんにちは。 コアサーバーで、趣味のメルマガを発行することにしました。 「7日間サッカー講座」のような感じのものです。 他の目的のために、楽メール(​http://www.raku-mail.com/)​を 以前に購入していましたので、こちらを利用したいと考えています。 ところが、ステップメールを送るためのcronの設定で、苦戦しています。分かる方がいらっしゃいましたら、アドバイスをいただけると嬉しいです。 cronについては公式サポートの対象外なもので…。 ​http://www.raku-mail.com/manual/raku_setup.htm​ こちらのページに書いてあるように、楽メールを設置しました。 send.cgiをcronで毎時0分に起動させたいのです。 独自ドメインを設定しているので(ここでは仮にabc.com)、 distibuteフォルダは、 public_html/​www.abc.com/distribute​ の階層にあります。 public_htmlと同じ最上階に、cron.shを置きました。 cron.shの中身は、 #!/bin/sh #PERL /usr/local/bin/perl /virtual/アカウント名/public_html/​www.abc.com/distribute/cgi-bin/send.cgi​ exit です。 そしてcronジョブを毎時0分に起動させるように、コアサーバーの管理メニューから保存しました。 以上が、僕がネットで1から調べ、やったことです。 しかし、毎時0分になにやらエラーメールらしきものが送られてきます。 エラーメール題名:Cron <アカウント名@s59> /bin/sh /virtualアカウント名/cron.sh エラーメール本文:Can't locate /virtual/アカウント名/public_html/​www.abc.com/distribute/cgi-bin/lib/send/send.pl​ in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/i686-linux /usr/local/lib/perl5/5.8.8 /usr/local/lib/perl5/site_perl/5.8.8/i686-linux /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl .) at /virtual/アカウント名/public_html/​www.abc.com/distribute/cgi-bin/send.cgi​ line 17. これは、僕がどこを間違えているからなのでしょうか? 分かる方がいらっしゃっいましたら、教えていただけると助かります。 よろしくお願いします。

  • fedora11でのcron設定

    fedora11,apache,php5の環境でcronを使いたいのですが、動きません。。 状況が、 fedora11 php5 apache を使用していて、cronを使ってphpの定期実行を行いたいのですが、どうしてもうまくいきません。 かなりググってはみたのですが、liuxについては初心者なので、どうにもわかりません。 設定内容が、 /etc/crontabが、 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ * /1 * * * * apache /usr/bin/php /var/www/html/cron.php で、/var/log/cron でログを確認したところ Jul 28 19:00:01 host CROND[8417]: (apache) CMD (/usr/bin/php /var/www/html/cron.php) となっていてこれが一分ごとに出てきます。 cron.phpにはファイル追記の処理を書いてあります。 エラーではないようなのですが、ファイル操作が行われていないようなので動いていないようなのです。 ローカルホストでphpを実行したらちゃんと動くのでphp内のミスではないようです。 パーミッション関係だったらログにエラーが出そうなものですし、、、。困っています。。 どなたかお知恵を貸していただけませんでしょうか、よろしくお願いします。

  • cronでPHP実行

    お世話になります。 OSはクライアントの為、恐縮ながら何を使用しているか不明となっております。 PHPバージョンは5.1.6です。 cronを使用して、毎日特定の時間に、メールを配信するPHPスクリプトを実行しようと試みているのですが、エラーメールが返ってきてしまいます。 因みに、URLを直接指定して実行した場合は正常にメールが配信されます。 設定方法は、crontab -e で 0 12 * * * /usr/lib/php -q /home/hoge/public_html/mail.php と記述しております。 返ってくるエラーメールの内容は、以下の通りです。 Content-Type: text/plain; charset=UTF-8 Auto-Submitted: auto-generated X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/home/hoge> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=hoge> X-Cron-Env: <USER=hoge> Message-Id: <xxxxxx@xxxxxxxxxx> Date: Sun, 28 Sep 2008 12:00:01 +0900 (JST) /bin/sh: /home/hoge/public_html/mail.php: Permission denied 以上、対策方法についてご存知の方がおられましたら、ご教授よろしくお願い致します。

  • CRONを使ってshファイルの書き方がわからない

    下記のやり方はうまくいきました #!/bin/sh /usr/local/bin/php /home/cron/index.php 以下の場合(パラメータが入った場合)がうまくいきません #!/bin/sh /usr/local/bin/php /home/cron/index.php?id=35 宜しくお願いいたします

  • cgiのcron設定について(コアサーバー)

    「ブログ記事をmixi日記へ自動的に投稿する為のperl(cgi)プログラム」を コアサーバーに設置したいと考えているのですが、cronの設定で困っています。 初めてcronを使うためどこでつまずいているのか分かりません。 どんなことでも構いませんので、ご教授よろしくお願いします。 index.cgiの1行目の記述は #!/usr/bin/perlとして /virtual/マイアカウント/mixid/index.cgi におきました。 (mixidファイルとindex.cgiの属性755) また、cron.shを文字コードs-jis、改行コードLFで保存して public_htmlと同じ階層におきました。 /virtual/マイアカウント/cron.sh (cron.shの属性644) cron.shの記述は以下のとおりです。 #!/bin/sh #PERL /usr/local/bin/perl /virtual/マイアカウント/mixid/index.cgi exit cronジョブの編集画面では、毎時0分に動作させようと 0*** /virtual/マイアカウント/cron.sh と設定しています。 今、上記のような状態で、mixiに投稿できずに 下記のエラーメールが送られてきます。 Content-type: text/html <html> <head> <title></title> </head> <body> OK</body> </html> 間違っている箇所がありましたら、ご指摘をよろしくお願い致します。 コアサーバー各種パス http://www.coreserver.jp/help/index.php/path/ 「ブログ記事をmixi日記へ自動的に投稿する為のperl(cgi)プログラム」 http://pct.unifas.co.jp/%E3%83%96%E3%83%AD%E3%82%B0%E8%A8%98%E4%BA%8B%E3%82%92mixi%E3%81%B8%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%E6%8A%95%E7%A8%BF%E3%81%99%E3%82%8B%E7%82%BA%E3%81%AEperlcgi%E3%83%97%E3%83%AD%E3%82%B0-65/

  • cronが動かない

    cronからphpスクリプトを動かそうと設定したのですが動きません。 エラーメールやエラー表示もされません。 phpスクリプト自体は、cronを使わず手動なら動作しています。 どこか設定に異常個所などがあればご指摘やアドバイスなど頂きたいと思います。 以下に設定内容を記載します。 【crontab】 # crontab -u testuser -e 0-59/5 * * * * /usr/bin/php -q /home/testuser/public_html/mail.php 2>&1 0-59/10 * * * * /usr/bin/php -q /home/testuser/private_html/mail.php 2>&1 【cron確認】 # ls -l /var/spool/cron/ -rw------- 1 root root 251 4月 17 15:25 testuser -rw------- 1 root root 71 4月 16 18:28 root 【mail.php】 #!/usr/bin/php <?php $tim = time(); $today = gmdate("Y/m/d(D)",$tim+9*60*60); $now = gmdate("Y/m/d(D) H:i",$tim+9*60*60); mb_language("Ja") ; mb_internal_encoding("EUC-JP") ; $mailto="test@****.jp"; $mailfrom = "From:" .mb_encode_mimeheader("cronテスト") ."<" . $mailto .">"; $parameters = '-f' . $mailto; $return_path = "$mailto"; $subject="テストメール"; $body ="クーロンテスト\n"; $body .="送信年月日: $today \n"; $body .="送信時間: $now \n"; mb_send_mail( $mailto, $subject, $body, $mailfrom,"-f $return_path" ); ?> 【パーミッション】 /home/testuser/public_html/  705 /home/testuser/private_html/ 705 /home/testuser/public_html/mail.php 705 /home/testuser/private_html/mail.php 705 rootユーザーでのcronは正常に動いています。 ご教授の程、宜しくお願い致します。

  • PHPをバージョンアップしたらCRONが動かない

    CentOSとPHPをバージョンアップしたら、CRONだけが動かなくなってしまいました。 PATH関係が変わったことが問題のような検討がつくのですが、いろいろ試してもうまくいきません。どのように解決したら良いか教えていただければと思います。 [バージョンアップ内容] CentOSを5.3から5.7にバージョンアップ PHPを5.1.6から5.3.3にバージョンアップ phpMyAdmin3.4.8をインストール MySQL 5.0.77(バージョンアップせず) バージョンアップ前には ・PHPからMySQLにデータを登録するプログラムは動作していた。(ウェブサイト形式で動作確認) ・上記のプログラムはCRONで動いていた。(CRONでも動作確認) PHP5.1.6の時はCRONに下記のように登録していました。 10 * * * * /usr/bin/php /var/cron_file/test_cron.php アップデート後にウェブサイト形式でプログラムが動くことを確認しました(ページを開くと下記のプログラムが動作し、データをMySQLに登録) phpMyAdminも問題なく動きます。 CRONの問題点を探し出すために下記のことを行いました。 CRONのステータスを確認 # /etc/rc.d/init.d/crond status crond (pid 32151) を実行中... CRONをリスタート # /etc/init.d/crond restart crond を停止中: [ OK ] crond を起動中: CRONのエラーの確認 # vi /var/log/cron PHPの場所の確認 # find / -name php /usr/share/php /usr/include/php /usr/bin/php /usr/lib64/php /var/lib/php どれがPHPの場所なのかがわからないので、とりあえず5.1.6の時に指定していた「/usr/bin/php」を採用 このあたりはネットで情報を探して、登録してみたので正しいのかどうかよくわかりません。↓ PATHの記入 (その1) # vi /root/.bash_profile PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin export PATH (その2) #vi /etc/profile PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin export PATH PATHの確認 # env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/php (上記以外にもいろいろいじっていたら、このようになってしまいました。上記以外のところでどこで設定したかがわからないので、PATHを消す方法も教えていただければと思います) 「/usr/kerberos/sbin:/usr/kerberos/bin」はもともとシステムで登録されていたもので、上記で登録した「/sbin:/usr/sbin:/bin:/usr/bin」以外のもの「/usr/bin/php」などはどこで登録したかわからなくなってしまったものです。 CRONでPATHを指定する部分でPHPのバージョンによりPATHの値が異なるという情報を見つける /usr/bin/php /usr/bin/php5 /usr/bin/php53 各パターンで 「10 * * * * /usr/bin/●● /var/cron_file/test_cron.php」 をcrontab -eに登録してエラーを見てみる。 (1)「*/1 * * * * /usr/bin/php /var/cron_file/test_cron.php」 # vi /var/log/cron →エラーに何も表示されない (2)「*/1 * * * * /usr/bin/php5 /var/cron_file/test_cron.php」 → エラーに何も表示されない。 (3)「*/1 * * * * /usr/bin/php53 /var/cron_file/test_cron.php」 →エラーが表示される Dec 16 20:20:01 ドメイン crond[11412]: (root) CMD (/usr/bin/php5 /var/cron_file/test_cron.php) クローン自体は動いていて、エラーがでているような感じは把握できたのですがここで行き詰まりました。 PHPのパス関係か、MySQLのパス関係、PHPとMySQLの連係、そのあたりのどこかが原因なのでしょうか? 参考資料としてphpinfo()の情報を記載します。 Loaded Configuration File  /etc/php.ini PATH /sbin:/usr/sbin:/bin:/usr/bin 参考)プログラムの内容 --------------------------------------------- require_once ('/var/DB接続情報保存ディレクトリ/password.php') try { $dbh = new PDO($DSN , $DBUSER , $DBPASS); $query=<<<EOF INSERT INTO test (name) VALUES (:name) EOF; $stmt = $dbh->prepare($query);    $name='斉藤太郎'; $stmt->bindParam(':name', $name); $stmt->execute(); }//try_end catch(PDOException $e) { print "Error!: " . $e->getMessage() . "<br>"; die(); }//catch_end ---------------------------------------------

    • ベストアンサー
    • PHP
  • cronについて

    centos4を使っています。 初期設定?なのかは解らないのですが、root権限で1秒ごとに 下記のcronが登録されていました。 これはどのような意味があるのでしょうか。 /usr/bin/envdir.sh /etc/relay-ctrl /usr/bin/relay-ctrl-age

  • cron(指定日投稿)のCGI実行方法

    お世話になります。 MTの指定日投稿設定を行い、しばらくはうまく実行されていたのですが、サイトを追加していくうちに、cron daemonメールでkilledされた というメール内容が届き、以降、新たに追加したサイトについて、指定日投稿が実行されません。 いくつか、参考のコメントもいただき、試してみましたが、やはりうまくいきません。 前回、質問しました内容は下記の通りです。 =====以下、前回質問した内容===== MT初心者なんですが、いろいろ調べて指定日投稿ができるように設定することができました。しかし・・・・その後・・・ 追加して作成したサイトについては、指定日投稿されなくなってしまいました。 以前、作成したサイトは順調に指定した日に更新されているのですが、追加作成したサイトがうまく動かないんです。 【設定の内容です】 ・MT4.1をインストールしています ・サーバーはコアサーバーを使用しています ・cron設定を行い、指定日投稿をしています 【エラーメッセージと気になる点】 指定日投稿が完了したら、メールが送られてくるのですが、これまでは Parsing of undecoded UTF-8 will give garbage when decoding entities at /virtual/××/public_html/mt/extlib/LWP/Protocol.pm line 204. という内容が記載してあったのですが、うまくいかない時のメールの内容には Parsing of undecoded UTF-8 will give garbage when decoding entities at /virtual/××/public_html/mt/extlib/LWP/Protocol.pm line 204.・・・の後に /virtual/××/public_html/mt/cron1.sh: line 3: 31332 Killed /usr/bin/perl ./tools/run-periodic-tasks というようなメーッセージが入っています。 killedという単語が、少々、不気味なんですが・・・ 何かが、うまくいってないのだと思いますが、私には、何が悪いのか分かりません。 そして、もう1つ気になることなんですが、新しくサイトを追加する前に、既存のサイトの中身を修正していたのですが、修正した内容が、再 構築してもサイト上に反映されなかったので、そのサイトを削除したんです。そのサイトはMTをインストールした際に最初に作成したサイ トでID=1のサイトだったんです。もしかしたら、この最初に作成したサイトを削除したのが何かの原因になっているのかも・・・と思っているのですが・・・ 恐れいりますが、MTに詳しい方がいらっしゃいましたら、修正方法などを教えていただけませんでしょうか? よろしくお願いします。 =====ここまで===== いろいろ調べているうちに、シェルで使える容量のメモリー不足が原因では??? という書き込みを見つけました。 shではなく、「wgetなどでCGI経由で動作させると回避できます」 というヒントがあったので、CGIで動かすための設定を試みているのですが、この設定方法がどういう手順で進めればいいのか困惑しております。 手順をご存知の方がいらっしゃれば、アドバイスいただけませんでしょうか? 【分からない点】 (1)cron設定を行う場合、通常、cron.shファイルを作成し、FFFTPでアップロードすると思いますが、これをCGIで実行したい場合、ファイルの中身はどのような記述をすればいいのでしょうか? 正常に行なえていた際のshファイルの中身の記述は #!/bin/sh cd /virtual/×××/public_html/mt /usr/bin/perl ./tools/run-periodic-tasks echo exit にしており、これで動いておりました。 CGIで動かす場合、上記、#!/bin/shの直下に下記の記述を加えると書いてあったのですが・・・ echo "Content-Type: text/plain" echo echo "OK." このようにしても・・・動きませんでした。 #!/bin/sh echo "Content-Type: text/plain" echo echo "OK." cd /virtual/×××/public_html/mt /usr/bin/perl ./tools/run-periodic-tasks echo exit CGIで動かす際のファイルの中身の記述内容を教えてください。 (2)ファイルの中身が完成した際の保存ですが、「cron1.cgi」でいいですか?拡張子を.cgiにする・・・と書いてあったのですが・・・ (3)そのファイルのアップ先は、public_htmlと同階層にアップでいいでしょうか? それともmtフォルダの中でしょうか? 以上、3点なんですが、この他にも、CGIで動かすための手順がありましたら、是非、アドバイスをお願いいたします。