spamdyke mit mysql installiert. (hier nebenbei ein dank an haggybear für dieses tolle tool). läuft eigentlich wie am schnürchen, einzig das spamdyke-mysql-cleanup funzt nicht, bzw. die tabelleneinträge werden nicht gelöscht.
server: debian edge 4.0, plesk 8.4, spamdyke mysql version 2.3
ein perl -c spamdyke-mysql-cleanup liefert: Syntax ok
spamdyke-mysql-cleanup:
#!/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 => 'hostmaster@****.net'; # 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;
-----------------------------------------------------
Wenn ich das Script manuell aufrufe erhalte ich zwar keine Fehlermeldung aber es werden auch keine Einträge gelöscht.
Die mysql Angaben müssten stimmen denn ein manueller Aufruf der DB mit den oben angegebenen Daten
mysql -p -u spamdyke
Password: spamdyke
ecc....
funktioniert.
Wenn ich über Plesk Mysqladmin Tool gehe wird mir allerdings die Datenbank nich angezeigt. Warum weiss ich nicht ist allerdings sicher PLESK spezifisch. Vielleicht hätte ich die DB über Plesk anlegen sollen!
Jedenfalls bitte ich um Hilfestellung. Vielen Dank im Voraus
server: debian edge 4.0, plesk 8.4, spamdyke mysql version 2.3
ein perl -c spamdyke-mysql-cleanup liefert: Syntax ok
spamdyke-mysql-cleanup:
#!/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 => 'hostmaster@****.net'; # 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;
-----------------------------------------------------
Wenn ich das Script manuell aufrufe erhalte ich zwar keine Fehlermeldung aber es werden auch keine Einträge gelöscht.
Die mysql Angaben müssten stimmen denn ein manueller Aufruf der DB mit den oben angegebenen Daten
mysql -p -u spamdyke
Password: spamdyke
ecc....
funktioniert.
Wenn ich über Plesk Mysqladmin Tool gehe wird mir allerdings die Datenbank nich angezeigt. Warum weiss ich nicht ist allerdings sicher PLESK spezifisch. Vielleicht hätte ich die DB über Plesk anlegen sollen!
Jedenfalls bitte ich um Hilfestellung. Vielen Dank im Voraus