Müssen cronjob Unterskripteskripte absoluten Pfad besitzen?
Ich rufe in meinem cron ein perl Skript auf, das jeden Tag Aufgaben wie Datenbankbackup, Quotacheck, Log Datei Auswertung usw. übernimmt.
Innerhalb dieser Perl Datei werden andere Unterskripte aufgerufen. Eines davon wird beispielsweise mit
Innerhalb dieser sendemail.php Datei rufe ich eine Datei "datum.txt" auf, die ausgelesen werden soll. Diese Datei "datum.txt" befindet sich unter /root/skripte/.
Wenn ich diese Datei innerhalb von sendemail.php als relativen Pfad aufrufe, funktioniert das Skript nicht, sendemail.php findet diese Datei nicht. Wenn ich die Datei jedoch als absoluten Pfad aufrufe, funktioniert diese.
Relative Pfade, die getestet wurden:
Absoluter Pfad, der funktioniert
Kann mir jemand sagen, wie diese Phänomen zustande kommt? Brauchen alle Skripte, sowie Unterskripte, die von cron abgearbeitet werden immer absolute Pfade, oder ist meine Skriptidee falsch?
Ich rufe in meinem cron ein perl Skript auf, das jeden Tag Aufgaben wie Datenbankbackup, Quotacheck, Log Datei Auswertung usw. übernimmt.
Code:
30 6 * * * /usr/bin/perl /root/skripte/mainscript.pl
Innerhalb dieser Perl Datei werden andere Unterskripte aufgerufen. Eines davon wird beispielsweise mit
Code:
system("/usr/bin/php5 /root/skripte/unterskripte/sendemail.php test@muster.de");
Innerhalb dieser sendemail.php Datei rufe ich eine Datei "datum.txt" auf, die ausgelesen werden soll. Diese Datei "datum.txt" befindet sich unter /root/skripte/.
Wenn ich diese Datei innerhalb von sendemail.php als relativen Pfad aufrufe, funktioniert das Skript nicht, sendemail.php findet diese Datei nicht. Wenn ich die Datei jedoch als absoluten Pfad aufrufe, funktioniert diese.
Relative Pfade, die getestet wurden:
Code:
"datum.txt"
"../datum.txt"
"./datum.txt"
"/datum.txt"
Absoluter Pfad, der funktioniert
Code:
"/root/skripte/datum.txt"
Kann mir jemand sagen, wie diese Phänomen zustande kommt? Brauchen alle Skripte, sowie Unterskripte, die von cron abgearbeitet werden immer absolute Pfade, oder ist meine Skriptidee falsch?