![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
phpのhttp内記述と XREAのCRON内記述の違いについてこのPGに関して教えてください。
現在防犯カメラとして動作感知すればサーバーに写真画像UPするようにしてます。
しかし、旧写真をFTPで手動で削除しており手間が大変です。よってCRON-JOB化したく勉強中です。
カメラの仕様でファイル名に日付+時間が着くのでまずファイル名を取得して。
次に削除ロジックを組み込みたいと取り掛かりました。が
指定時間にJOBは稼動するのですが、エラーが出て基本的文法の勉強不足の為原因が判りません。間違いを指摘ください。
下記は正常に稼動する http://aa.ebb.jp/ 内にある~.jpgを抜き出すPGです。
<HTML>
<?php
echo "** 動作 開始**`date '+%Y/%m/%d %H:%M'`.";
if (!($dir = opendir("./"))) {
die;
}
while ($fnm = readdir($dir)) {
if (ereg('.jpg$', $fnm)) {
print "<P>$fnm</P>\n";
}
}
closedir($dir);
を下のアドレスへUPし実行しますと正常に動作します。(日時は実行無し)
http://aa.ebb.jp/t4.php
★★★★実行結果:★★★★日時表示しない以外は正しく稼動してます
** 動作 開始**`date '+%Y/%m/%d %H:%M'`.
shasin01.jpg
shasin02.jpg
shasin03.jpg
shasin04.jpg
shasin05.jpg
** 動作 終了**`date '+%Y/%m/%d %H:%M'`.
これをCRON JOB化したく次のコーディングしてUPとcronジョブ欄にSETしました。
(写真データともに上記WEBページと同じ場所http://aa.ebb.jp内)
#!/bin/sh
#PHP
/usr/local/bin/php /virtual/aaa/public_html/aa.ebb.jp
echo "** 動作 開始**`date '+%Y/%m/%d %H:%M'`.";
if (!($dir = opendir("./"))) {
die;
}
while ($fnm = readdir($dir)) {
if (ereg('.jpg$', $fnm)) {
print "<P>$fnm</P>\n";
}
}
closedir($dir);
exit
格納場所は下記場所です。LFやコードは注意してるつもりですが?
public_html/aa.ebb.jp/ct4.sh
実行時次のエラーが帰ってきます。(echo内容の日時は正しく表示)
他でも( のところで引っかかってPG実行出来ません。
★★★★実行結果:★★★★管理者宛メール内容
** 動作 開始**2008/01/25 17:15.
/virtual/aaa/public_html/aa.ebb.jp/ct4.sh: line 5: syntax error near unexpected token `('
/virtual/aaa/public_html/aa.ebb.jp/ct4.sh: line 5: ` if (!($dir = opendir("./"))) {'
No.1ベストアンサー
- 回答日時:
XREAでcronを書くときには
【ct4.sh】
#!/bin/sh
#PHP
/usr/local/bin/php /virtual/aaa/public_html/aa.ebb.jp/t4.php
とだけ書いておけば、指定した時刻にt4.phpを実行します。/usr/local/bin/php の引数はスクリプトを記述したファイルです。c4.shの中にphpスクリプトを書いてはいけません。
参考URL:http://sb.xrea.com/showthread.php?t=12181
早速ご指示通りやって成功しました。
大変早い回答に感謝します。
実はshimixさんの過去回答を参考にやったのですが、どこか間違ってたのですね。
次の課題は print コマンドを rm か unlink コマンドに変えて実際に削除できるよう、変更する必要があります。今のところ、phpでもcronでもファイル名直書きでは出来ましたが、組み込み繰り返しは成功していません。
不思議ですが実験で下記の場合はshの中に直下記してもファイルは削除されています。
略
rm /virtual/aaa/public_html/sakujyo.php
略
本件実行結果です。10日位悩んだのが数分で・・。本当にありがとうございました。
Content-type: text/html
<HTML>
** 動作 開始**`date '+%Y/%m/%d %H:%M'`.<P>shasin01.jpg</P>
<P>shasin02.jpg</P>
<P>shasin03.jpg</P>
<P>shasin04.jpg</P>
<P>shasin05.jpg</P>
No.2
- 回答日時:
防犯カメラの画像を手動で削除しないでどうやって防犯するんだろうという突っ込みはさておき。
shにphpのコードを書いても動くはずがありません。
shにはshの文法が、phpにはphpの文法があります。
aa.ebb.jpの最後に
echo "** 動作 開始**`date '+%Y/%m/%d %H:%M'`.";
(snip)
を記述するか、PHPロジックを別ファイルに記述しshの中で
/usr/local/bin/php /virtual/aaa/public_html/aa.ebb.jp
/usr/local/bin/php /virtual/aaa/public_html/作ったPHPファイル
としましょう。
この回答への補足
早速の回答ありがとうございます。
おかげさまで、別々に書いて解決いたしました。もう一つの方テストしましたが?(snip)の意味からshの終わりで次から実行内容と解釈して、ご指示のところへ記入しましたが。以下添付のようなエラーとなりました。しかし本件は解決しました。お時間をいただき本当にありがとうございます。
蛇足ですが、突っ込まれた件の回答は、曜日別に別リレクトリにUPしておりますので。cronの実行を曜日別に設定します。3日も保存してれば充分ですので。PG力がつけばwrite日が数日古いものを毎日消すようにしたいと考えています。
** 動作 開始**2008/01/25 21:00.
/virtual/aaa/public_html/aa.ebb.jp/ct4.sh: line 4: snip: command not found
/virtual/aaa/public_html/aa.ebb.jp/ct4.sh: line 5: syntax error near unexpected token `('
/virtual/aaa/public_html/aa.ebb.jp/ct4.sh: line 5: ` if (!($dir = opendir("./"))) {'
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpからエクセルのマクロを実行...
-
IIS + PHP からのWindowsコマン...
-
PHPでバックグランド処理
-
Prompt入力値をphp変数として取...
-
フォントの色を変えるには?
-
pearのMailライブラリがうまく...
-
PHPで新しいウインドウで開く命...
-
phpファイルの編集について
-
Subversionのリポジトリの削除
-
画像アップロードのファイル名...
-
centos6のlogにscript not foun...
-
ファイル一覧表(LAN内の別PC)
-
10MB以内のJPG画像
-
MkDir関数
-
別ファイルの変数を呼び出した...
-
php my adminより取り出したデ...
-
フォームで戻った際に入力済み...
-
HPの更新をしたら自動でメール...
-
.phpと.incファイルの違いはな...
-
phpのセッションについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mysql複数レコードをまとめて削...
-
PHPからバッチファイルの実行
-
php実行中に実行中のphpファイ...
-
Prompt入力値をphp変数として取...
-
Switch文における、returnとbre...
-
phpからエクセルのマクロを実行...
-
ヒアドキュメントの中で演算子...
-
copy() で属性保存
-
httpdのプロセスが自動で消えな...
-
別サーバのプログラムを起動
-
シェルスクリプトをPHPで動かそ...
-
【PHP】命令は記述順に処理...
-
MySQLでのdeadlockをPHPで検出...
-
Linux:PHPでTELNETによるSMTP...
-
サーバーモジュールとCGIプロセ...
-
ブラウザからexecコマンドを実...
-
phpスクリプトのみで定期実行
-
phpのshell_exec関数の動作に関...
-
PHPからlhaコマンドを使いたい
-
htmlでsubmitで指定したAction...
おすすめ情報