Hallo, ich bin fast am verzweifeln,
ich erstelle mit einem PHP-Script eine Cronjob-Datei, diese wird auf dem Webserver in einem Verzeichnis angelegt. Ein über Linux erstellter Cronjob holt alle 5 min diese Cronjob-Datei ab un speichrt sie im Verzeichnis /etc/cron.d, dort ist sie auch danach. Doch leider wird der Cronjob micht ausgefürt.
Hier der Code wie ich die Datei erstelle:
Code:
// Cronjob wird erstellt!!!
$text_cron = "#
# cron-job for xxx
#
SHELL=/bin/bash
MAILTO=xxx@xxx
* * * * * root mv /etc/cron.d/$dateiname_cfg $gamedir$gametyp/cfg/$dateiname_cfg
$startminute $startstunde $tag $monat * root /etc/cron.d/$dateiname restart
$endminute $endstunde $tag $monat * root /etc/cron.d/$dateiname stop
$endminute $endstunde $tag2 * * root mv /etc/cron.d/$dateiname /etc/cron.d/sourcetv_backup/$dateiname
$endminute $endstunde $tag2 * * root mv /etc/cron.d/$dateiname_cron /etc/cron.d/sourcetv_backup/$dateiname_cron
$endminute $endstunde $tag2 * * root mv $gamedir$gametyp/cfg/$dateiname.cfg /etc/cron.d/sourcetv_backup/$dateiname_cfg";
$fp = fopen ("../sourcetv/$dateiname_cron","w+");
fwrite($fp,$text_cron);
fclose($fp);
// $fp = fopen ("../sourcetv/$dateiname_cron","r");
// $str = fgets($fp,30);
// fclose($fp);
echo "Autostart -$dateiname_cron- angelegt";
echo "<BR>";
echo "Dateirechte ändern\n";
echo chmod("../sourcetv/$dateiname_cron",0777);
echo "<BR>";
echo "Autostart -$dateiname_cron- Erstellt";
echo "<BR>";
echo "<BR>";
// Cronjon Ende
als ergebnis kommt dann z.B. dieses raus:
Code:
#
# cron-job for xxx
#
SHELL=/bin/bash
MAILTO=xxx@xxx
* * * * * root mv /etc/cron.d/a123conf.cfg /home/davezero78/server/css_addons/cstrike/cfg/a123conf.cfg
15 11 24 10 * root /etc/cron.d/a123start restart
45 11 24 10 * root /etc/cron.d/a123start stop
45 11 25 * * root mv /etc/cron.d/a123start /etc/cron.d/sourcetv_backup/a123start
45 11 25 * * root mv /etc/cron.d/a123cron /etc/cron.d/sourcetv_backup/a123cron
45 11 25 * * root mv /home/davezero78/server/css_addons/cstrike/cfg/a123start.cfg /etc/cron.d/sourcetv_backup/a123conf.cfg
Doch leider wird der Cronjon, nachdem es im Verzeichnis /etc/cron.d ist nicht ausgeführt.
Ich habe irgendwas von einem Linibreak gelsen, doch weiß ich damit nichts anzufangen.
Gebe ich allerdings die Daten manuell in eine Datei im Linux ein, dann wird er ausgeführt. Ich hoffe mir kann jemand helfen.
Gruß
davezero78