Guten Morgen zusammen,
ich hoffe mir kann wer helfen hier. Wenn ich mein Skript über den Browser abfeuer funktioniert es einwandfrei.
Wenn ich es aber als Cronjob einrichten möchte funktioniert es nicht. Ein abfeuern des Skriptes über die Shell sagt mir auch nur, dass die Datei nicht kopiert werden konnte. Die Variablen sind allerdings alle richtig gefüllt. <- meiner Meinung nach.
Ein Error Reporting gibt mir auch nur wieder, dass weiter unten wenn ich mit der kopierten Datei arbeiten möchte, diese nicht existiert. Hier einmal der Skriptteil wo ich denke, dass vielleicht was faul ist. Obwohl es im Browser super funktioniert.
Ich danke Euch schon jetzt für Eure Hilfe und Anregungen. Das ganze liegt auf einem 1und1 Server.
X-Powered-By: PHP/5.2.17
in der Shell führe ich die Datei mit php5 cron.php aus.
Gruß
Daniel
ich hoffe mir kann wer helfen hier. Wenn ich mein Skript über den Browser abfeuer funktioniert es einwandfrei.
Wenn ich es aber als Cronjob einrichten möchte funktioniert es nicht. Ein abfeuern des Skriptes über die Shell sagt mir auch nur, dass die Datei nicht kopiert werden konnte. Die Variablen sind allerdings alle richtig gefüllt. <- meiner Meinung nach.
Ein Error Reporting gibt mir auch nur wieder, dass weiter unten wenn ich mit der kopierten Datei arbeiten möchte, diese nicht existiert. Hier einmal der Skriptteil wo ich denke, dass vielleicht was faul ist. Obwohl es im Browser super funktioniert.
PHP-Code:
//FTP-Verbindung zum Server aufbauen
// Login-Daten müssen angepasst werden
$ftp_server = "*****";
$ftp_user_name = "*****";
$ftp_user_pass = "*****";
$ftp_dir = "logs";
$ftp_new_dir = "/akt_log";
// Herstellen der Basis-Verbindung
$conn_id = ftp_connect($ftp_server);
// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// Besteht eine FTP-Verbindung
if ((!$conn_id) || (!$login_result)) {
echo "2.) FTP-Verbindung nicht hergestellt!";
echo "3.) Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich";
die;
} else {
echo "2.) FTP-Verbindung erfolgreich<br/>";
echo "3.) Verbunden mit $ftp_server als Benutzer $ftp_user_name<br/><br/>";
}
// Suchen der exakten Log-Datei für die weitere Bearbeitung
// Einlesen des Verzeichnisinhalts in ein Array
$files = ftp_nlist ($conn_id, $ftp_dir);
foreach ($files as $list){
$bn[]=basename($list);
//print_r($files);
}
// Sortieren des Arrays
sort($bn);
// Suchen nach access.log im Namen
$log_dateien = (preg_grep('/^access.log.*/',$bn));
// Speichern des vorletzten Datensatzes des Arrays in neue Variable
$datei = (array_slice($log_dateien,-2,1));
foreach ($datei as $index => $value)
{
// Kopieren der Datei aus dem Log Verzeichnis in unabhängiges Verzeichnis
// Ursprungsdatei aus dem Log-Verzeichnis
$pfad = 'ftp://'.$ftp_user_name.':'.$ftp_user_pass.'@*******/logs/';
$file = $value;
// Exakte Kopie in anderes Verzeichnis zum weiterverarbeiten
$timestamp = time();
$new_pfad = 'ftp://'.$ftp_user_name.':'.$ftp_user_pass.'@******/akt_log/';
$new_file = $value.'_'.$timestamp;
if (!@copy($pfad.$file, $new_pfad.$new_file)) {
echo "4.) Kopieren der Datei $file <b>NICHT</b> erfolgreich\n";
}else{
echo "4.) Kopieren der Datei $file erfolgreich\n <br/>";
}
}
X-Powered-By: PHP/5.2.17
in der Shell führe ich die Datei mit php5 cron.php aus.
Gruß
Daniel
Kommentar