S
stharbich
New member
- Beiträge
- 1
- Punkte Reaktionen
- 0
Hallo Ihr Lieben,
ich habe folgende PostgreSQL Datenbank mit dem Namen fail2ban.

Ich möchte per PHP Skript alle Datensätze löschen die älter als 24 Stunden sind. Hierzu habe ich zwei PHP Datein erstellt.
config_new.php (Hält die Informationen für die Verbindung zur Datenbank)
crontab_new.php (Löscht die Datensätze die älter als 24 Stunden sind per Cron Job)
Das ganze schlägt aber bei der Löschung mit folgender Fehlermeldung fehl:
Habt Ihr einen Tipp was ich falsch mache?
Gruß von Stefan Harbich
ich habe folgende PostgreSQL Datenbank mit dem Namen fail2ban.

Ich möchte per PHP Skript alle Datensätze löschen die älter als 24 Stunden sind. Hierzu habe ich zwei PHP Datein erstellt.
config_new.php (Hält die Informationen für die Verbindung zur Datenbank)
Code:
root@dsme01:~# cat /etc/fail2ban/config_new.php
#!/usr/bin/php
<?php
// postgresql database configuration
$dbserver="localhost";
$dbuser="fail2ban";
$dbpass="##########";
$dbname="fail2ban";
$tablename="fail2ban";
// connect to postgresql database
try {
$link = new PDO("pgsql:host=$dbserver;dbname=$dbname", $dbuser, $dbpass);
$link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die('Could not connect: ' . $e->getMessage());
}
?>
Code:
root@dsme01:~# cat /etc/fail2ban/cron2ban_new.php
#!/usr/bin/php
<?php
require_once((dirname(__FILE__)) . "/config_new.php");
// query PostgreSQL
$query = "DELETE FROM fail2ban WHERE created < DATE_SUB(NOW() , INTERVAL 1 DAY)";
$stmt = $link->prepare($query);
$stmt->execute();
if ($stmt->execute()) {
echo "IP delete in the DATABASE";
} else {
echo "No Dataset delete";
}
exit;
?>
Code:
root@dsme01:/etc/fail2ban# ./cron2ban_new.php
#!/usr/bin/php
PHP Fatal error: Uncaught PDOException: SQLSTATE[42601]: Syntax error: 7 FEHLER: Syntaxfehler bei »1«
LINE 1: ...OM fail2ban WHERE created < DATE_SUB(NOW() , INTERVAL 1 DAY)
^ in /etc/fail2ban/cron2ban_new.php:9
Stack trace:
#0 /etc/fail2ban/cron2ban_new.php(9): PDOStatement->execute()
#1 {main}
thrown in /etc/fail2ban/cron2ban_new.php on line 9
Gruß von Stefan Harbich