Thread perl Ausgabe in Datei funktioniert nicht als cron Job (4 answers)
Opened by NoaH at 2017-02-26 08:30

NoaH
 2017-02-26 08:30
#186171 #186171
User since
2017-02-26
1 Artikel
BenutzerIn
[default_avatar]
Hallo liebe Community,

ich bin neu hier aber nutze dieses Forum schon seit Jahren ;-). Nun habe ich ein Problem, was mich fast in den Wahnsinn treibt und hoffe sehr, dass hier mir helfen könnt. Ich habe auch schon intensive Google und die Forumssuche bemüht ohne Erfolg. Falls es doch ein Doppelbeitrag ist, bitte nicht schimpfen ;-).

Nun zu meinem Problem:

Ich habe ein Perl-Skript in dem ich alle Ausgaben in ein File umleiten möchte. Dies mache ich wie folgt:

Code: (dl )
1
2
3
4
5
6
7
my $logfile = "syslog_error_$dt.log";
open ( LOG, ">" . $logfile ) or die "Could not open file '$logfile ' $!";
STDOUT->fdopen( \*LOG, 'w' ) or die $!;
STDERR->fdopen( \*LOG, 'w' ) or die $!;
print "Das ist eine normale Nachricht\n";
warn "Das ist eine Warnung\n";
close(LOG);


Das funktioniert auch alles ganz gut, sofern ich das Skript in der Shell starte.

Das Problem tritt dann auf, wenn ich das Skript per cron starten möchte. Das File wird noch angelegt, aber es werden keine Ausgaben mehr in die Datei geschrieben. Es kommt mir fast vor, als wenn die cron das Umleiten der STDOUT und STDERR nicht erlaubt. Ich weiß, dass die cron eine sehr eingeschränkte Umgebung aufweist. Ich habe deshalb schon versucht zuvor mein Userprofile zu laden oder die Shell explizit auf bash zu setzen aber alles was ich bisher probiert habe, hatte keinen Erfolg.

Nun hoffe ich sehr auf Euch, dass ihr mir vielleicht den entscheidenen Tipp geben könnt.

Das ganze läuft auf einem RedHat Linux

Ich danke Euch schon mal riesig!

Beste Grüße
Chris
Last edited: 2017-02-26 10:18:45 +0100 (CET)

View full thread perl Ausgabe in Datei funktioniert nicht als cron Job