実行されていないcronジョブがあります。私はこの分野でそれほど経験がないので、明らかな何かを見逃しているかもしれませんが、それを理解することはできません。
これがcrontabからの関連テキストです。(これは、ある種のWindowsサーバーで実行されています。残念ながら、構成の詳細はわかりません。)
0,15,30,45 * * * * /usr/apps/nrbadm/php_invoker framework/index.php dc rezound newsql > /dev/null 2>&1
0,15,30,45 * * * * /usr/apps/nrbadm/php_invoker framework/index.php dc droid4 newsql > /dev/null 2>&1
0,15,30,45 * * * * /usr/apps/nrbadm/php_invoker framework/index.php dc ipad3 newsql &> /tmp/crn/ipad3.log
10,25,40,55 * * * * /usr/apps/nrbadm/php_invoker2 galaxys3_data.php >> /usr/apps/webdata/dashboards/cronlog.txt
10,25,40,55 * * * * /usr/apps/nrbadm/php_invoker2 galaxys3_data_full.php >> /usr/apps/webdata/dashboards/cronlog.txt
10,25,40,55 * * * * /usr/apps/nrbadm/php_invoker2 incredible4_data.php >> /usr/apps/webdata/dashboards/cronlog.txt
0,15,30,45 * * * * /usr/apps/nrbadm/php_invoker_gen queue_summary_data.php >> /usr/apps/webdata/cron/errorlog.txt
その最後の行は機能していない行です。それらが機能しているので、比較のために他の行を含めました。最初の3行は、php_invokerというスクリプトを呼び出します。(構文がおかしいと思われる場合は、このスクリプトがCodeIgniter環境にあるためです。)これらは、私が置き換えたプログラマーによって設定されました。
3つの2番目のセットは私が設定しました。CodeIgniterからサイトを移植しているので、これらのファイルを移植する必要がありました。php_invokerをコピーし、必要な編集を加えてphp_invoker2を作成しましたが、機能しました。それで、この新しいものをセットアップする時が来たとき、それが実行されていないことを除いて、私は同じことをしました。新しいスクリプトphp_invoker_genは、サーバー上の「cron」フォルダー内の任意のPHPスクリプトを実行するように設計されています。
php_invoker_genの全文は次のとおりです。
#!/bin/bash
export LD_LIBRARY_PATH="/usr/apps/oracle/product/10.2.0/db_1/lib32:$LD_LIBRARY_PATH"
/usr/apps/php/bin/php -f /usr/apps/webdata/cron/$1
私が言ったように、これは元のphp_invokerスクリプトからコピーされました。私が変更したのは、実行しようとしているPHPスクリプトを指す最後の行の2番目の部分だけでした。私はここで起こっていることすべてを完全には理解していませんが、私が理解できたことから(そして私が間違っている場合は誰かが私を訂正します)、$1はcrontabで渡される値に置き換えられる変数です上記の行なので、「queue_summary_data.php」。
結果のパスは次のようになります。
/usr/apps/webdata/cron/queue_summary_data.php
このパスが正しいことを確認しました。このファイルのアクセス許可は777に設定されています(これはやり過ぎだとわかっていますが、何かを試すことになりました)。
また、呼び出されているスクリプトへのパスが正しいことも確認しました。
/usr/apps/nrbadm/php_invoker_gen
そのファイルのアクセス許可は755に設定されているため、実行可能です。これは、実行中の他の2つのスクリプトと同じアクセス許可レベルです。
PuTTYを介してサーバーにログインすると、コマンドラインからスクリプトを実行できます。
/usr/apps/php/bin/php -f /usr/apps/webdata/cron/queue_summary_data.php
これは、ターミナルウィンドウに入力したときに機能します。スクリプトが実行され、データが適切に更新されます。しかし、cronジョブは実行したくないだけです。
私はこのことをデバッグするためのアイデアを使い果たしました。以前に問題なくこれを行ったという事実は、私を本当に苛立たせています。私が見落としていたのは単純なことだと確信していますが、それが何であるかはわかりません。
よろしくお願いします。
->後で.....スパイス