Titel: Problem mit SQLNamedQuery Beitrag von: freq.9 am 02. Oktober 2005, 19:22:17 Ich bin dabei mir eine Statistik für die FTP Zugriffe zu basteln. Es kann zwar
sein, dass es schon welche gibt aber ich will zudem auch etwas in Sachen ProFTPd lernen. Also habe ich eine Tabelle erstellt die wie folgt aussieht: Code: SELECT * FROM ftp_statistics; +--------------+-------+--------+ | name | f_int | f_char | +--------------+-------+--------+ | access_count | 0 | NULL | | on_monday | 0 | NULL | | on_tuesday | 0 | NULL | | on_wednesday | 0 | NULL | | on_thursday | 0 | NULL | | on_friday | 0 | NULL | | on_saturday | 0 | NULL | | on_sunday | 0 | NULL | | in_january | 0 | NULL | | in_february | 0 | NULL | | in_march | 0 | NULL | | in_april | 0 | NULL | | in_may | 0 | NULL | | in_june | 0 | NULL | | in_july | 0 | NULL | | in_august | 0 | NULL | | in_september | 0 | NULL | | in_october | 0 | NULL | | in_november | 0 | NULL | | in_december | 0 | NULL | +--------------+-------+--------+ 20 rows in set (0.00 sec) Die Tabelle ist so aufgebaut, dass ich Integerwerte sowie Zeichen eingeben kann. Diese Trennung habe ich gewählt, da die Sortierung von Zahlen in VARCHAR Spalten nicht richtig ist. Und ich habe 3 Queries erstellt in der /etc/proftpd.conf Code: # Statistic SQLNamedQuery day UPDATE "f_int=f_int+1 WHERE name=CONCAT('on_', dayname(now()))" ftp_statistics SQLNamedQuery month UPDATE "f_int=f_int+1 WHERE name=CONCAT('in_', monthname(now()))" ftp_statistics SQLNamedQuery login UPDATE "f_int=f_int+1 WHERE name='access_count'" ftp_statistics die sollten doch nun wie folgt aussehen: Code: UPDATE ftp_statistics SET f_int=f_int+1 WHERE name=CONCAT('on_', dayname(now())); UPDATE ftp_statistics SET f_int=f_int+1 WHERE name=CONCAT('in_', monthname(now())); UPDATE ftp_statistics SET f_int=f_int+1 WHERE name='access_count'; Nebenbei: CONCAT('on_', LOWER(dayname(now()))) --> on_sunday CONCAT('in_', LOWER(monthname(now()))) --> in_october Wenn ich nun aber zum Server verbinde und mir die Daten in der Tabelle anschaue hat sich da nichts geändert. In meiner Log-Datei /var/log/proftpd/sql steht auch nichts, dass da was fehlgeschlagen ist. Wieso wird da nichts an der Tabelle geändert? Titel: Problem mit SQLNamedQuery Beitrag von: freq.9 am 05. Oktober 2005, 19:25:02 Hat denn da keiner ne Ahnung wieso da nichts passiert?
Titel: Problem mit SQLNamedQuery Beitrag von: Wörsty am 07. Oktober 2005, 21:06:43 Ich poste mal meine Konfiguration.
Vielleicht hilft dir das. :) Code: SQLLog * history SQLLog PASS updatecount SQLLog PASS letzter_zugriff SQLLog DELE delfile SQLLog RETR getfile SQLLog * history SQLNamedQuery history INSERT "'%U', '%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'ok', NULL" history SQLNamedQuery history_err INSERT "'%U', '%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'nicht ok', NULL" history SQLNamedQuery updatecount UPDATE "ftp_login_count=ftp_login_count+1 WHERE loginname='%u'" users SQLNamedQuery letzter_zugriff UPDATE "last_ftp_login = now() where loginname = '%u'" users SQLNamedQuery delfile UPDATE "deleted ='ja' where loginname = '%u' and dateiname = '%F'" ftp_query SQLNamedQuery getfile UPDATE "downloadcount = downloadcount + 1, last_download = now() where fullpath = '%f' and loginname = '%u'" ftp_query SQLNamedQuery history INSERT "'%U', '%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'ok', NULL" ftp_history SQLNamedQuery history_err INSERT "'%U', '%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'nicht ok', NULL" ftp_history Code: # # Table structure for table 'ftp_history' # DROP TABLE IF EXISTS `ftp_history`; CREATE TABLE `ftp_history` ( `loginname` varchar(30) default NULL, `identname` varchar(30) default NULL, `filename` text, `size` bigint(20) default NULL, `host` varchar(80) default NULL, `ip` varchar(16) default NULL, `aktion` varchar(255) default NULL, `dauer` varchar(10) default NULL, `zeit_lokal` datetime default NULL, `status` set('ok','nicht ok','test') default NULL, `ui` bigint(20) NOT NULL auto_increment, PRIMARY KEY (`ui`) ) TYPE=MyISAM COMMENT='Ausgeführte FTP-Befehle (FTP-Warteschlange)'; # # Table structure for table 'ftp_query' # DROP TABLE IF EXISTS `ftp_query`; CREATE TABLE `ftp_query` ( `ftp_query_id` int(10) unsigned NOT NULL auto_increment, `dateiname` char(255) NOT NULL default '', `user_id` int(10) unsigned NOT NULL default '0', `query_date` datetime NOT NULL default '0000-00-00 00:00:00', `downloadcount` smallint(5) unsigned NOT NULL default '0', `last_download` datetime default NULL, `byte` int(10) unsigned NOT NULL default '0', `files_id` int(10) unsigned default NULL, `loginname` char(255) NOT NULL default '', `deleted` enum('nein','ja') NOT NULL default 'nein', `fullpath` char(255) NOT NULL default '', PRIMARY KEY (`ftp_query_id`), UNIQUE KEY `ftp_query_id` (`ftp_query_id`), KEY `ftp_query_id_2` (`ftp_query_id`) ) TYPE=MyISAM COMMENT='Dateien in den FTP-Warteschlagen'; # # Table structure for table 'history' # DROP TABLE IF EXISTS `history`; CREATE TABLE `history` ( `loginname` varchar(30) default NULL, `filename` text, `size` bigint(20) default NULL, `host` varchar(80) default NULL, `ip` varchar(16) default NULL, `aktion` varchar(255) default NULL, `dauer` varchar(10) default NULL, `zeit_lokal` datetime default NULL, `status` set('ok','nicht ok') default NULL, `ui` bigint(20) NOT NULL auto_increment, PRIMARY KEY (`ui`), KEY `zeit` (`zeit_lokal`), KEY `loginname` (`loginname`) ) TYPE=MyISAM COMMENT='FTP-Befehlshistory für den Server Port 21'; Titel: Problem mit SQLNamedQuery Beitrag von: freq.9 am 08. Oktober 2005, 15:01:17 Jau werd ich mir später mal anschauen. Das mit dem Loggen sieht recht interessant aus. Nur muss ich erst meinen Server neu aufsetzen. Ein böser yum-Befehl hat mir heute Nacht meinen Server zerschossen. Okay laufen tut er noch nur wurden an die 120 Programme und Tools gelöscht und von daher ist mir eine Neuinstallation lieber.
Titel: Problem mit SQLNamedQuery Beitrag von: freq.9 am 11. Oktober 2005, 03:24:42 Okay nun gehts ;) Nun werd ich mir mal in den nächsten Tagen was nettes basteln um die Daten zu visualisieren :-)
|