Thread Perl Script mit Cronjob?
(15 answers)
Opened by Gast at 2005-01-18 15:13
80% aller Probleme bei cronjobs sind IMHO falsch gesetzte Umgebungsvariablen; dies scheint aber bei dir nicht der Fall zu sein.
10% sind fehlende Rechte; ueberpruefe die mal (execute-rechte fuer's script, shebang, rechte auf die verzeichnisse, ...) Weiters ist mir aufgefallen, dass du weder beim opendir noch beim unlink noch beim rmdir eine Fehlerueberpruefung machst... ueberpruefe dort mal die returncodes, und wenn dann immer noch unerklaerliche probleme auftauchen, dann vergleiche mal die umgebungsvariablen (in %ENV) z.B. Code: (dl
)
1 opendir (DIR, $directory) or die "Error: couldn't open dir '$directory': $!\n" weiters fuehrst du ein externes kommando mit backticks aus; da man damit nicht vernuenftig fehler abfangen kann, bevorzuge ich da pipe-open, z.B. anstelle von: Code: (dl
)
@configs = `ls -l /home/confbackup/startup_configs/`; besser schreiben: Code: (dl
)
1 my $command = "ls -l /home/confbackup/startup_configs/"; warum fuehrst du dafuer eigentlich ein externes kommando aus? kannst du das nicht mit perl-mitteln loesen? falls mal der output von ls ein bisschen anders als erwartet ist (z.B. auf einem anderen Betriebssystem oder einer anderen version), faellt das script unnoetigerweise auf die nase.\n\n <!--EDIT|Strat|1106067773--> perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |