|
Re: lug-bg: Apache спиране на трансфер + лог
- Subject: Re: lug-bg: Apache спиране на трансфер + лог
- From: Dean Stoeff <dean@xxxxxxxxxxxx>
- Date: Tue, 17 Oct 2006 12:21:13 +0300
- Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
- Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx
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 tcp@$2 | 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.
Първо да кажеш на родителския процес да чака да привършат дъщерните
процеси и после тях да утрепеш ?
|
|
|