Re: lug-bg: Apache спиране на трансфер + лог
Georgi Chorbadzhiyski wrote: > Питах вече в httpd-devel и -users ама никой не може да ми отговори, > та реших, че може би някой из lug-а е по-светнат. > > Zdravei, pitai vav freebsd(US) listovete. Lichnia mi opit pokazva che v tia listove ima dosta znaeshti hora. Peter
Re: lug-bg: Apache спиране на трансфер + лог
Peter wrote: > Georgi Chorbadzhiyski wrote: >> Питах вече в httpd-devel и -users ама никой не може да ми отговори, >> та реших, че може би някой из lug-а е по-светнат. > > pitai vav freebsd(US) listovete. Lichnia mi opit pokazva che v tia > listove ima dosta znaeshti hora. То че има - има, ама едва ли е On-TOPIC подобно питане там. -- Georgi Chorbadzhiyski http://georgi.unixsol.org/
Re: lug-bg: Apache спиране на трансфер + лог
Georgi Chorbadzhiyski wrote: Питах вече в httpd-devel и -users ама никой не може да ми отговори, та реших, че може би някой из lug-а е по-светнат. Проблема ми е следният: когато apache трансферира големи файлове и по някаква причина реша, че искам да прекратя трансфера, какъвто и сигнал да пращам на httpd-то, което сервира, то или игнорира сигнала или просто умира, прекратявайки трансфера без да записва нищо в логовете. В мануала на апачето пише следното: * *"graceful restart" sigusr1 signal* zfile kill -s sigusr1 /apache_parent_pid/ or zfile kill -s sigusr1 `cat /usr/local/apache/logs/httpd.pid` The Apache parent asks its children to exit when they're finished with any requests they're currently handling. Then the existing parent re-reads the configuration file(s) and creates new children to replace the exiting ones. "Graceful restart" can be used to pick up new configuration files without disrupting traffic. * http://httpd.apache.org/docs/1.3/stopping.html Но май няма да ти свърши работа, защото така може да си го чакаш до утре спре
Re: lug-bg: Apache спиране на трансфер + лог
Alexander N. wrote: > Georgi Chorbadzhiyski wrote: >> Питах вече в httpd-devel и -users ама никой не може да ми отговори, >> та реших, че може би някой из lug-а е по-светнат. >> >> Проблема ми е следният: когато apache трансферира големи файлове и >> по някаква причина реша, че искам да прекратя трансфера, какъвто >> и сигнал да пращам на httpd-то, което сервира, то или игнорира сигнала >> или просто умира, прекратявайки трансфера без да записва нищо >> в логовете. > > В мануала на апачето пише следното: > > * *"graceful restart" sigusr1 signal* > > zfile kill -s sigusr1 /apache_parent_pid/ or > zfile kill -s sigusr1 `cat /usr/local/apache/logs/httpd.pid` > > The Apache parent asks its children to exit when they're finished > with any requests they're currently handling. Then the existing > parent re-reads the configuration file(s) and creates new children > to replace the exiting ones. > > "Graceful restart" can be used to pick up new configuration files > without disrupting traffic. > > * http://httpd.apache.org/docs/1.3/stopping.html > > Но май няма да ти свърши работа, защото така може да си го чакаш до утре > спре Именно. Не ми върши работа защото аз искам да прекъсна трансфера, а не да го чакам да си спре когато клиента пожелае. Не ме бийте за следната грозотия, която работи /по-лесно ми беше да я направя нея вместо да се кривя да компилирам tcpkill ot dsniff/. Скрипт ugly_tcpkill.sh пуска се ugly_tcpkill.sh PID_OF_HTTPD_PROCESS IP_OF_CLIENT #!/bin/sh lsof -n -i [EMAIL PROTECTED] | grep $1 | tr -s ' ' | cut -d" " -f8 | cut -d">" -f2 | tr : " " | while read IP PORT do iptables -I OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with tcp-reset sleep 2 iptables -D OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with tcp-reset done Не го използвайте в този вид моля, защото не отговарям за грешките, които са очевадни. :-) -- Georgi Chorbadzhiyski http://georgi.unixsol.org/
Re: lug-bg: Apache спиране на трансфер + лог
Georgi Chorbadzhiyski wrote: Alexander N. wrote: Georgi Chorbadzhiyski wrote: Питах вече в httpd-devel и -users ама никой не може да ми отговори, та реших, че може би някой из lug-а е по-светнат. Проблема ми е следният: когато apache трансферира големи файлове и по някаква причина реша, че искам да прекратя трансфера, какъвто и сигнал да пращам на httpd-то, което сервира, то или игнорира сигнала или просто умира, прекратявайки трансфера без да записва нищо в логовете. В мануала на апачето пише следното: * *"graceful restart" sigusr1 signal* zfile kill -s sigusr1 /apache_parent_pid/ or zfile kill -s sigusr1 `cat /usr/local/apache/logs/httpd.pid` The Apache parent asks its children to exit when they're finished with any requests they're currently handling. Then the existing parent re-reads the configuration file(s) and creates new children to replace the exiting ones. "Graceful restart" can be used to pick up new configuration files without disrupting traffic. * http://httpd.apache.org/docs/1.3/stopping.html Но май няма да ти свърши работа, защото така може да си го чакаш до утре спре Именно. Не ми върши работа защото аз искам да прекъсна трансфера, а не да го чакам да си спре когато клиента пожелае. Не ме бийте за следната грозотия, която работи /по-лесно ми беше да я направя нея вместо да се кривя да компилирам tcpkill ot dsniff/. Скрипт ugly_tcpkill.sh пуска се ugly_tcpkill.sh PID_OF_HTTPD_PROCESS IP_OF_CLIENT #!/bin/sh lsof -n -i [EMAIL PROTECTED] | grep $1 | tr -s ' ' | cut -d" " -f8 | cut -d">" -f2 | tr : " " | while read IP PORT do iptables -I OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with tcp-reset sleep 2 iptables -D OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with tcp-reset done Не го използвайте в този вид моля, защото не отговарям за грешките, които са очевадни. :-) Аха, само като идея, няма ли да е по добре да се комбинират горните 2. Първо да кажеш на родителския процес да чака да привършат дъщерните процеси и после тях да утрепеш ?
Re: lug-bg: Apache спиране на трансфер + лог
Georgi Chorbadzhiyski написа: Въпроса ми е следният, някой знае ли начин да накарам Апаче да спре трансфер и да запише в лога заявката и байтовете, които са трансферирани? Какво става при пращане на HUP и веднага след това TERM? Поздрави, оги
Re: lug-bg: Apache спиране на трансфер + лог
Dean Stoeff wrote: > Аха, само като идея, няма ли да е по добре да се комбинират горните 2. > Първо да кажеш на родителския процес да чака да привършат дъщерните > процеси и после тях да утрепеш ? Не, защото не искам да правя graceful на целият сървър само защото искам да спра определен трансфер. Няма никакъв смисъл, не ми помага с нищо. -- Georgi Chorbadzhiyski http://georgi.unixsol.org/
Re: lug-bg: Apache спиране на трансфер + лог
Огнян Кулев wrote: > Georgi Chorbadzhiyski написа: >> Въпроса ми е следният, някой знае ли начин да накарам Апаче да спре >> трансфер и да запише в лога заявката и байтовете, които са трансферирани? > > Какво става при пращане на HUP и веднага след това TERM? Излиза без да пише в лога още при HUP. Вярвай ми опитах всички извратени сигнали, които kill -l ми казва че съществуват. Дори и SIGPWR и SIGXFSZ :) -- Georgi Chorbadzhiyski http://georgi.unixsol.org/
Re: lug-bg: Apache спиране на трансфер + лог
Georgi Chorbadzhiyski написа: > Именно. Не ми върши работа защото аз искам да прекъсна трансфера, а не да го > чакам да си спре когато клиента пожелае. > > Не ме бийте за следната грозотия, която работи /по-лесно ми беше да я направя > нея > вместо да се кривя да компилирам tcpkill ot dsniff/. > > Скрипт ugly_tcpkill.sh пуска се > > ugly_tcpkill.sh PID_OF_HTTPD_PROCESS IP_OF_CLIENT > > #!/bin/sh > lsof -n -i [EMAIL PROTECTED] | grep $1 | tr -s ' ' | cut -d" " -f8 | cut > -d">" -f2 | tr : " " | while read IP PORT > do > iptables -I OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with > tcp-reset > sleep 2 > iptables -D OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with > tcp-reset > done > > Не го използвайте в този вид моля, защото не отговарям за грешките, които са > очевадни. :-) Привет, хвърли едно око тука, ако случайно вече не си го направил: http://www.lowth.com/cutter/ Няма външни зависимости като dsniff, а и би следвало да работи по-чисто.
Re: lug-bg: Apache спиране на трансфер + лог
Stoyan Tzalev wrote: Georgi Chorbadzhiyski написа: Именно. Не ми върши работа защото аз искам да прекъсна трансфера, а не да го чакам да си спре когато клиента пожелае. Не ме бийте за следната грозотия, която работи /по-лесно ми беше да я направя нея вместо да се кривя да компилирам tcpkill ot dsniff/. Скрипт ugly_tcpkill.sh пуска се ugly_tcpkill.sh PID_OF_HTTPD_PROCESS IP_OF_CLIENT #!/bin/sh lsof -n -i [EMAIL PROTECTED] | grep $1 | tr -s ' ' | cut -d" " -f8 | cut -d">" -f2 | tr : " " | while read IP PORT do iptables -I OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with tcp-reset sleep 2 iptables -D OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with tcp-reset done Не го използвайте в този вид моля, защото не отговарям за грешките, които са очевадни. :-) Привет, хвърли едно око тука, ако случайно вече не си го направил: http://www.lowth.com/cutter/ Няма външни зависимости като dsniff, а и би следвало да работи по-чисто. Изглежда полезно, благодаря. -- Georgi Chorbadzhiyski http://georgi.unixsol.org/