Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9774[/thread]

Befehl in Crontab wird nicht richtig ausgeführt

Leser: 1


<< >> 7 Einträge, 1 Seite
frambo
 2005-08-19 09:19
#95461 #95461
User since
2003-09-22
16 Artikel
BenutzerIn
[default_avatar]
Hallo !

Bin zur Zeit an einem Programm dran, was in gewissen Intervallen aufgerufen werden soll und dem das aktuelle Datum in einer gewissen Form übergeben werden soll.

Dazu habe ich in crontab eingetragen:
Code: (dl )
#20 3-22 * * * /home/user/foo `date +%Y%m%d` >> /dev/null


Aber irgendwie klappt das Ausführen des `date +%Y%m%d` nicht richtig (sollte zB. 20050819 rausgeben). Beim manuellen Aufruf in der Shell gibt es keine Probleme damit. Hab auch versucht, den date-Ausdruck nochmal in Anführungszeichen zu setzen, aber gleiches Resultat :(

Hat einer eine Idee, wie das richtig in die crontab eingetragen werden müsste, damit es läuft ? OS = AIX 5.x

Gruss
Frank
ptk
 2005-08-19 13:05
#95462 #95462
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Das Kommentarzeichen steht aber nicht wirklich dort, oder?
frambo
 2005-08-19 13:50
#95463 #95463
User since
2003-09-22
16 Artikel
BenutzerIn
[default_avatar]
[quote=ptk,19.08.2005, 11:05]Das Kommentarzeichen steht aber nicht wirklich dort, oder?[/quote]
Ups..nein..steht nicht da. Das Kommentarzeichen hatte ich noch drin, weil es eben nicht funktioniert hatte. Also bitte das Kommentarzeichen wegdenken ;)
Strat
 2005-08-19 14:21
#95464 #95464
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wenn das datum der einzige parameter ist, dann dies am einfachsten ueber eine pipe uebergeben:
Code: (dl )
20 3-22 * * * date +%Y%m%d | /home/user/foo/script

(habe jetzt die cron-syntax nicht im kopf)

Ist es moeglich, das Datum im aufgerufenen Programm selbst zu ermitteln? Dann hast du eine auessere Abhaengigkeit weniger
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
projekt21
 2005-08-19 15:14
#95465 #95465
User since
2005-08-18
4 Artikel
BenutzerIn
[default_avatar]
man 5 crontab

Code: (dl )
Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.


Du kannst den Aufruf auch in ein kleines Skript packen und das per cron aufrufen, dann sollte das Quoting keine Probleme bereiten.
frambo
 2005-08-19 15:35
#95466 #95466
User since
2003-09-22
16 Artikel
BenutzerIn
[default_avatar]
[quote=Strat,19.08.2005, 12:21]wenn das datum der einzige parameter ist, dann dies am einfachsten ueber eine pipe uebergeben:
Code: (dl )
20 3-22 * * * date +%Y%m%d | /home/user/foo/script

(habe jetzt die cron-syntax nicht im kopf)

Ist es moeglich, das Datum im aufgerufenen Programm selbst zu ermitteln? Dann hast du eine auessere Abhaengigkeit weniger[/quote]
Das mit der Pipe ist eine gute Idee..nur muss ich ja dann im Shellscript auf die Pipe zugreifen. Das habe ich noch nicht gemacht..da muss ich mich wohl noch etwas schlau machen. In Perl wüsste ich, wie das zu machen ist, aber im Shellscript .. ???

Im Programm kann ich natürlich auch das Datum ermitteln, wollte es aber gerade modular aufbauen, so dass er sich den Tag vornimmt, den ich ihm übergebe.
projekt21
 2005-08-19 16:17
#95467 #95467
User since
2005-08-18
4 Artikel
BenutzerIn
[default_avatar]
[quote=frambo,19.08.2005, 13:35]Im Programm kann ich natürlich auch das Datum ermitteln, wollte es aber gerade modular aufbauen, so dass er sich den Tag vornimmt, den ich ihm übergebe.[/quote]
Dann mach doch den Parameter optional und setze ihn auf das aktuelle Datum, wenn kein Parameter übergeben wird. Das erspart dir die Probleme mit cron und läßt die "modulare" Verwendung trotzdem zu.
<< >> 7 Einträge, 1 Seite



View all threads created 2005-08-19 09:19.