Thread Problem mit -w und Perl-Skript als Cron-Job (5 answers)
Opened by nepos at 2006-08-22 12:40

nepos
 2006-08-22 13:48
#69080 #69080
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ok, die Sache wird immer komischer. Folgender kleiner Code-Ausschnitt:
Code (perl): (dl )
1
2
3
4
5
6
      my $test = -W "$INTRANETDIRPDF/$relativePath";

      print "Test returned: ", Dumper(\$test),"\n" if $DEBUG;

      warn BOLD, RED, "Verzeichnis \"$INTRANETDIRPDF/$relativePath\" nicht beschreibbar!"
        unless ( $test ), RESET;


Wenn das Skript via root-Crontab aufgerufen wird, liefert die Ausgabe von Dumper:
Code: (dl )
Test returned: $VAR1 = \'1';

Das heisst, der Test war erfolgreich, das Verzeichnis ist beschreibbar.
Gleichzeitig wird allerdings auch das warn() ausgefuehrt...

Starte ich das ganze als root auf der Konsole, dann kriege ich die gleiche Ausgabe von Dumper, allerdings springt das warn nicht an...

Ein
Code: (dl )
ls -la /Berichte/SLA-2.5/pdf/2006
liefert mir:
Code: (dl )
1
2
3
4
5
6
7
8
9
drwxrwxr-x    1 root     reportin     4096 Aug 11 10:25 .
drwxrwxr-x    1 root     reportin     4096 Feb 15  2006 ..
drwxrwxr-x    1 root     reportin     4096 Apr 20 15:22 01
drwxrwxr-x    1 root     reportin     4096 Mar 28 16:28 02
drwxrwxr-x    1 root     reportin     4096 Apr 27 12:58 03
drwxrwxr-x    1 root     reportin     4096 Jul 17 15:48 04
drwxrwxr-x    1 root     reportin     4096 Aug 11 10:25 05
drwxrwxr-x    1 root     reportin     4096 Jul 21 15:09 06
drwxrwxr-x    1 root     reportin     4096 Aug 11 10:25 07


Das Verzeichnis befindet sich auf einem Mountpoint, der per Samba von einem anderen Server eingebunden wird. Dabei wird die fmask auf 0664, die dmask auf 0775 und die gid auf 101 (reporting) gesetzt. Sprich, alle Dateien und Verzeichnisse unter diesem Mountpoint haben die gleichen Berechtigungen und Besitzer/Gruppe.

@pq: Die Angabe des Users benoetigt man nur, wenn man den Job ueber die /etc/cron... eintraegt. Wenn ich den Job direkt als root mittels
Code: (dl )
crontab -e
anlege, wird er in die root-Crontab geschrieben und dort ausgefuehrt.

View full thread Problem mit -w und Perl-Skript als Cron-Job