Титла: Iptables Logrotate Публикувано от: DownFall в Nov 20, 2010, 10:41 Има ли вариант да вържа лога на iptables с logrotate например?
Целта ми е да не се получава твърдя голям лог файл :) В момента всичко каквото се случва го записва в един файл и за нула време той става огромен :( Целта ми е например на всеки 24ч. или ако надвиши 100 MB да започва на чисто, а стария да се съхрани отделно, за да мога да го преровя ако ми трябва нещо. Другото което ме интересува, както споменах, всичко ми се записва в един файл. По-рано днес го преименувах и създадох нов файл, празен. iptables явно не го харесва него, защото не иска да записва нищо там :D Има ли вариант да рестартирам firewalla без да рестартирам машината? Благодаря предварително. Титла: Re: Iptables Logrotate Публикувано от: kikicha в Nov 21, 2010, 00:56 service iptables restart [_]3
Титла: Re: Iptables Logrotate Публикувано от: Acho в Nov 21, 2010, 06:45 Down, колега, ама нито си казал коя е дистрибуцията ти, нито какъв firewall ползваш, нито как го запускаш/спираш, нито кой е лог файла, който ти се препълва. Или какъв е левела за запис на събитията във файла (info, warning, debug etc.) Ако ги знаеш тия неща, хубаво е да се споменат. Всичко това ще помогне за по-точен отговор, както и за добър съвет, как да си го оптимизираш и да ти логва само това, което искаш, и в кой файл да бъде.
Титла: Re: Iptables Logrotate Публикувано от: DownFall в Nov 21, 2010, 12:33 service iptables restart [_]3-bash: service: command not found Down, колега, ама нито си казал коя е дистрибуцията ти, нито какъв firewall ползваш, нито как го запускаш/спираш, нито кой е лог файла, който ти се препълва. Или какъв е левела за запис на събитията във файла (info, warning, debug etc.) Ако ги знаеш тия неща, хубаво е да се споменат. Всичко това ще помогне за по-точен отговор, както и за добър съвет, как да си го оптимизираш и да ти логва само това, което искаш, и в кой файл да бъде.Debian 5, iptables 1.4.2 За да тествам добавям просто правило от типа -A INPUT -j LOG --log-level 4 В syslog-ng.conf за лог файл съм посочил destination df_iptables { file("/var/www/logs/iptables.log"); }; Въпросите ми бяха по-скоро: 1. Има ли вариант, вместо /var/www/logs/iptables.log да бъде /usr/sbin/rotatelogs /var/www/logs/iptables_%Y-%m-%d.log 86400 - при apache процедирам по този начин и съм доста доволен.. 2. След като променя името на лог файла, по какъв начин мога да презаредя конфигурацията, без да се налага рестарт на системата? Титла: Re: Iptables Logrotate Публикувано от: shadowx в Nov 22, 2010, 11:23 Лично аз бих ползвал logrotate ...все пак затова е правен. (конфигурационите му фаилове са в /etc/logrotate или /etc/logrotate.d )
Но и с елементарен баш скрипт и crontab пак може.... А относно рестарт-а , това не го разбрах .... рестарт на линукс се прави само за подмяна на ядро... иначе невиждам смисъл (знам, че може да се смени ядро без рестарт но нехаресвам ksplice :D ) Титла: Re: Iptables Logrotate Публикувано от: ROKO__ в Nov 22, 2010, 11:47 Лично аз бих ползвал logrotate ...все пак затова е правен. (конфигурационите му фаилове са в /etc/logrotate или /etc/logrotate.d ) Аз съм пробвал по метода на OpenSUSE "kexec" Титла: Re: Iptables Logrotate Публикувано от: gat3way в Nov 22, 2010, 12:11 Това с рестарта е защото когато logrotate затрие (премести) текущия лог файл, syslogd няма как да знае какво е станало и продължава да пише в същият файлов дескриптор. Файловите дескриптори не са асоцирани с имена на файлове, а с inodes, така че syslogd няма как да продължи да пише в новия лог файл и всички събития по-нататък престават да се логват. Та поради тази причина или трябва да му се прати SIGHUP, или да се правят разни изпълнения, от сорта на копиране на лог файла в архивен такъв и truncate-ване на "текущия".
Най-лесното е да сложиш една postrotate клауза в конфигурацията, която да ти вика killall -HUP syslogd или нещо от сорта. |