spamdyke-mysql-cleanup

  • Thread starter Thread starter Klaus-DK
  • Start date Start date
K

Klaus-DK

Guest
Hallo,

Ich habe folgendes Problem: spamdyke-mysql-cleanup räumt nicht auf.

Inzwischen sind in der Datenbank daten von 15 Tagen enthalten.

Inhalt der spamdyke-mysql-cleanup

Code:
#!/usr/bin/perl -w
use strict;

use constant DBD => 'DBI:mysql:spamdyke:localhost:3306'; 	# Set your database where spamdyke logs
use constant DBUSER => 'spamdyke'; 				# Database username
use constant DBPASS => 'spamdyke';				# Database password
use constant DELAY => '7';					# Delete log entries older than 7 days

use constant MAIL_RECIPIENT => '[email protected]';		# Set your email for daily report
use constant MAIL_TITLE => '[spamdyke-mysql-cleanup] Daily run';# Set your title for daily report

use DBI;

my $dbh = DBI->connect(DBD,DBUSER,DBPASS) or die "can't connect to db ", $DBI::errstr, ":$!";

my $erg = $dbh->do("delete from spamdyke_log_table where `time` < DATE_ADD(CURDATE(),interval -".DELAY." day)");
$dbh->do("OPTIMIZE TABLE spamdyke_log_table");

my $text="$erg rows deleted";

$dbh->disconnect;
my $rec = MAIL_RECIPIENT;
my $tit = MAIL_TITLE;

my $SENDMAIL='/usr/sbin/sendmail';
open (SENDMAIL,"|$SENDMAIL -t -f -odq") || &fehler("Kann sendmail nicht öffnen");
print SENDMAIL <<EOF;
To: $rec
Subject: $tit
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit


$text
EOF

close SENDMAIL;

Vorher hat das script aufgeräumt die letzten tage nicht mehr
die tägliche ausgabe des scripts "0E0 rows deleted"

Irgend einer eine Idee warum das script keine Daten mehr löscht.

Gruss
Klaus
 
Probiere es mal mit der Hand:
Code:
mysql -uspamdyke -pspamdyke spamdyke
delete from spamdyke_log_table where `time` < DATE_ADD(CURDATE(), interval -7 day);
quit

huschi.
 
Hallo Huschi,

Dies hat geklappt, nun sind nur noch daten der letzten 7 tage in der Datenbank.:D

Gruss
Klaus
 
Back
Top