Hi!
Vielleicht weil der Verzeichnispfad nicht existiert.
Alle angegebenen Verzeichnisse existieren definitiv.
Bist du sicher und beachtest den Unterschied zwischen absoluter und relativer Angabe (foo/bar ist nur von der Wurzel aus gleich /foo/bar) sowie zwischen dem System an sich und einer chroot-Umgebung?
Der projektspezifische ist der, den du im Plesk bei Hosting angegeben hast. Es ist der, dem unter anderem /var/www/vhosts/projektname/httpdocs gehört.
[root@s15430844 ~]# crontab -u admin -e
crontab: user `admin' unknown
Bist du sicher, dass admin der richtige ist? Plesk kennt zwei Nutzer, einen mit Zugang zum Verwaltungspanel und ein anderer wird für das Hosting verwendet. Da letzterem einige Verzeichnisse und Dateien gehören, muss er im System existieren. Wenn der nicht crontaben darf, hätte ich eine Meldung erwartet, deren Text auf ein Berechtigungsproblem hinweist, nicht auf eine Nichtexistenz.
Daher schließe ich, dass es in die root-crontab eingetragen werden muss.
Wenn du das unter dem root laufen lassen willst, dann ja. Aber ist das denn notwendig und sinnvoll?
Wenn du etwas von den Hinweisen nicht verstehst, die ich gebe, frag bitte nach und ignoriere nicht die Häfte davon. Sonst kommen wir gar nicht oder nur umständlich ans Ziel.
Ich habe gerade noch was getestet, die php Datei wird ausgeführt, nur das MySQL-Backup funktioniert nicht, also liegt es am PHP-Script, aber was ist daran falsch?
exec( "mysqldump --user=$dumpuser --password=$dumppass --add-drop-table $dumpbase >"" . $pfad.$dumpbase . " - " . date("Y.m.d") . ".sql"");
exec() stellt die Ausgabe inklusive der darin enthaltenen Fehlermeldungen zur Verfügung. Die letzte Zeile davon ist das Funktionsergebnis, die komplette Ausgabe bekommt man über den zweiten Funktionsparameter zu sehen. Was steht dort drin?
Damit funktioniert jetzt alles, aber ich bekomme trotzdem eine Email, OHNE Inhalt, warum das?
Dein PHP-Script erzeugt vermutlich nur eine Ausgabe mit Whitespace, vielleicht ein Zeilenumbruch nach dem schließenden ?>. Wenn nach dem PHP-Code in einer Datei nichts mehr kommt, kann man das ?> ganz weglassen. Dann können sich dahinter auch keine Whitespaces unbemerkt ansammeln.
Außerdem könntest du mir bitte sagen wie ich PHP sage, dass die Datei UTF-8 codiert sein soll?
mysqldump kennt einen Parameter namens default-charset oder so ähnlich. Lies bitte die genaue Schreibweise auf der bereits erwähnten Handbuchseite nach. Beachte bei einem Import, diesen Parameter ebenfalls anzugeben, sonst geht's unter Umständen schief.
Lo!