Page 1 of 1

Frage zu AT-Jobs

Posted: 2006-12-04 13:19
by kane
Hallo zusammen!

Folgende Anforderung habe ich an AT-Job:

Es soll ein PHP Script ausgeführt werden. Dem Script muss eine Variable angehängt werden, damit des Script den entsprechenden Eintrag in einer DB findet.

Hier der Code der Dateien:

PHP Datei

Code: Select all

#!/usr/local/bin/php
<?
$str_out = "";
for($a=0;$a<count($_SERVER['argv']);$a++)
  {
  $str_out .= $_SERVER['argv'][$a]."n";
  }


mail("meine@email.de","TEST","> ".$str_out." <","From: fhe@fe.den");
?>
Aufruf des AT-Daemons

Code: Select all

# at -f /pfad_zum_script/atjob.php -t 200612041315
Soweit funzt das alles, nur möchte ich nun der Datei "atjob.php" eine Variable übergeben, z.B. "atjob.php?test=1" oder "atjob.php test=1" oder atjob.php %1" ...
Wenn ich das so schreibe, sagt mir AT folgendes:

Code: Select all

at: bad time specification
Auch ein atjob.php %variable funzt nicht, gleiche Meldung wie eben...


Schreibe ich nun ein Shell-Script

Code: Select all

#!/usr/bin/bash
/usr/local/bin/php -f /pfad_zum_script/atjob.php 454
und füge das der AT-Queue hinzu (at -f /pfad_zum_script/atjob.sh -t 200612041315) so kann ich mittels $_SERVER['argv'] auf die übergebene Variable (hier 454) zugreifen (Variablen, die im Shell Script stehen).
Das Problem ist nun, dass ich nicht für jeden Job eine .sh Datei anlegen kann/will, da dann das Verzeichnis mit solchen Dateien zugemüllt wird. Sicher könnte ich sie nach Gebrauch löschen, aber das sollte nur der letzte Ausweg sein.

Weiß hier jemand Rat?

Danke im Voraus!

Gruß Kane

Re: Frage zu AT-Jobs

Posted: 2006-12-04 13:36
by daemotron

Code: Select all

at -f "/pfad_zum_script/atjob.php <parameter>" -t 200612041315

Re: Frage zu AT-Jobs

Posted: 2006-12-04 13:43
by kane
Danke für die schnelle Antwort!
Jetzt kommt allerdings die Meldung

Code: Select all

# at -f "/pfad/atjob.php tester" -t 200612041341
at: /pfad/atjob.php tester: Permission denied
Vielleicht sollte ich an dieser Stelle noch erwähnen, dass es sich um eine Sun Solaris Maschine handelt :)

Gruß Kane

Re: Frage zu AT-Jobs

Posted: 2006-12-05 11:31
by kane
Hat keiner einen Ansatz?

Re: Frage zu AT-Jobs

Posted: 2006-12-05 12:24
by Joe User
Ohne Solaris jemals genutzt zu haben, gehe ich mal davon aus, das die Rechte für das Script auf 0755 gesetzt sein müssen (Permission denied).

Re: Frage zu AT-Jobs

Posted: 2006-12-05 13:12
by kane
Das Script hat bereits, zu Testzwecken, die Rechte 777 ...
Daran kann es also nicht liegen.
Außerdem lässt sich das Script ja in die atq eintragen... nur bei der Angabe einer Variablen kommt dann Permission denied ...

Sonst noch jemand Vorschläge?

Re: Frage zu AT-Jobs

Posted: 2006-12-05 13:17
by Joe User
Funktioniert es eventuell mit ' statt "?

Code: Select all

# at -f '/pfad/atjob.php tester' -t 200612041341

Re: Frage zu AT-Jobs

Posted: 2006-12-05 13:21
by Roger Wilco
Kane wrote:Sonst noch jemand Vorschläge?

Code: Select all

at -t 200612041341 /pfad/atjob.php -- tester