fail2ban + newsyslog.conf +?

13/05/2015 - 00:44 von skidspam | Report spam
Ich habe ein Problem mit der Logrotation von fail2ban (0.8.10 aus
macports). Die entsprechende Zeile aus der newsyslog.conf lautet:

/var/log/fail2ban.log 640 5 5000 * J

/var/run/fail2ban/fail2ban.pid

(alles in einer Zeile)

Die Logrotation funktioniert insofern, als das neue Log bei
Überschreitung der angegebenen Größe angelegt wird. Allerdings schreibt
der fail2ban-Daemon nichts mehr hinein (Er funktioniert aber weiterhin,
und zeigt dies auch per E-Mail-Notification an).

Offenbar reicht dem Daemon die Übermittlung der .pid nicht aus [1].
Leider steht unter OS X (im Unterschied zu FreeBSD) die "R"-flag für
newsyslog nicht zur Verfügung, sonst könnte ich beispielsweise per
Skript einen Neustart des Daemons triggern (Nach hàndischem Neustart
wird in das neu angelegte Log geschrieben).

Welche anderen Möglichkeiten habe ich, um einen Neustart des Daemons
auszulösen? Mit watchfs [2] und der "watch path"-Option für
Launchdaemons [3] habe ich mich ein wenig beschàftigt, aber ich
befürchte, dass diese Ansàtze nicht taugen, denn ich möchte das Skript
ja nur ausführen, wenn die Datei fail2ban.log neu angelegt worden ist,
aber nicht, wenn sie veràndert wurde (das passiert ja minütlich).

Würde mich sehr freuen, wenn mir jemand auf die Sprünge helfen könnte.

Groetjes
Jörn

[1] http://fuzzix.org/post/33/

[2] https://github.com/igm/watchfs

[3]
http://superuser.com/questions/1639...n-mac-os-x


Unsere Vorstellung vom Raum ist euklidisch.


Deine vielleicht. Mir ist vorhin ein Fußball umgefallen.
(Mauser und Pense in de.etc.sprache.deutsch)
 

Lesen sie die antworten

#1 Thomas Kaiser
13/05/2015 - 08:18 | Warnen spam
Joern Prochnow schrieb am 12.05.2015 in <news:1m4c3bt.1n0kd0zd1hnfaN%
Die Logrotation funktioniert insofern, als das neue Log bei
Überschreitung der angegebenen Größe angelegt wird. Allerdings
schreibt der fail2ban-Daemon nichts mehr hinein



Filehandle ist weg und keine Routine, das abzufangen. Bisschen schlecht
programmiert das Ganze. Oder kann's ein Rechteproblem sein?

Welche anderen Möglichkeiten habe ich, um einen Neustart des Daemons
auszulösen? Mit watchfs [2] und der "watch path"-Option für
Launchdaemons [3] habe ich mich ein wenig beschàftigt, aber ich
befürchte, dass diese Ansàtze nicht taugen, denn ich möchte das Skript
ja nur ausführen, wenn die Datei fail2ban.log neu angelegt worden ist,
aber nicht, wenn sie veràndert wurde (das passiert ja minütlich).



Bau den Check halt ins Skript ein:

if [ -f $log -a ! -s $log ]; then
daemon neustarten
fi

("-s True if file exists and has a size greater than zero"). Damit
schlàgt der Check nur an, wenn die Datei 0 Byte hat.

Gruss,

Thomas

Ähnliche fragen