Mam tu nasledujici problem, se kterym si nevim rady a tak doufam, ze se 
tu najde nekdo, kdo ma hlubsi znalosti jailu a rc scriptu (moc nevim, 
jak to vlastne debugovat).

Napsal jsem si script, ktery mi pri bootu spousti weby pouzivajici 
Django jako FastCGI. Script v podstate funguje - dokud ho zkousim 
ovladat rucne (v jailu) volanim:
/usr/local/etc/rc.d/django-runfcgi.sh start
a vypinani pres
/usr/local/etc/rc.d/django-runfcgi.sh stop

pripadne spusteni / vypnuti jen konkretniho webu volanim
django-runfcgi.sh start jmenoweb
django-runfcgi.sh stop jmenoweb

Problem je v tom, ze pri rebootu stroje (a tim ukonceni jailu) se ten 
script patrne neprovede jak ma, jelikoz neodstrani pri vypinani PID file 
a tak po rebootu nedojde ke spusteni. Mozne je taky to, ze se script 
provede, ale "neco" se nesyncne spravne na filesystem, tomu uz ja moc 
nerozumim.

Data k jednotlivym webum se nacitaji z konfiguracniho souboru i kdyz by 
stejne tak mohly byt primo v rc.conf (podobne, jako je tomu u 
konfigurace jailu

Funkce pro vypinani v tom rc scriptu vypada nasledovne:

django_runfcgi_stop()
{
        echo -n "Stoping django fcgi sites: "
        
        for site in ${django_sites}
        do
                eval _user=\$django_${site}_user
                eval _dir=\$django_${site}_dir
                eval _conf=\$django_${site}_conf
                
                if [ -d "${_dir}" ]; then
                        
                        cd "${_dir}"
                        _pidfile="${_dir}/tmp/django-fcgi.pid"
                        
                        if [ -r "${_pidfile}" ]; then
                                echo " "
                                _pid=`cat "${_pidfile}"`
                                su "${_user}" -c "kill ${_pid} && rm 
${_pidfile} && echo -n ${site} "
                                echo -n " "
                        else
                                print_debug "PID file does not exists: 
${_pidfile}"
                        fi
                else
                        print_debug "directory does not exists: ${_dir}"
                fi
        done
        
        echo
}


Hlavni otazka tedy zni - jak zjistit, co se tam deje pri tom vypinani 
jailu? Bohuzel to standardne nikam nic nevypisuje / neloguje. Je tedy 
nejaka moznost, jak zapnout nejake logovani zpracovani ukonceni vsech rc 
scriptu v jailu?

Mirek
-- 
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem