Pagina 1 di 1

squid in rc.d

Inviato: ven 16 gen 2009, 17:30
da ZeroUno
Ho installato squid scaricato da slacky.eu, ma ho notato che non c'è un rc.squid o simili in /etc/rc.d

non sarebbe utile inserirne uno invece di dover mettere squid in rc.local?
Chi sa installare e configurare squid è anche in grado di metterlo in rc.local, ma qualcosa di prefatto non guasterebbe, inserendoci dentro magari anche la creazione della cache che ci si dimentica sempre e chi non lo sa (per es. chi lo installa la prima volta) deve cercare per ore su internet prima di capire che deve fare squid -z per poi vedere che non funziona... e scoprire dopo un'altra ora che va dato un mkdir /var/log/squid/cache e chown nobody:nogroup /var/log/squid/cache


Ciao,
01

Re: squid in rc.d

Inviato: ven 16 gen 2009, 17:38
da targzeta
Penso che tu abbia ragione.

Detto questo forse il miglior modo per segnalarlo era su pkgreports. Vedi questo link.

Spina

Re: squid in rc.d

Inviato: ven 16 gen 2009, 18:11
da ZeroUno
fatto.

me ne sto costruendo uno io. l'ho sto facendo un po' complesso, a dir la verità, ma gestisce alcuni aspetti:
creazione automatica della cachedir e pulizia del pid
verifica dello shutdown prima di uno start, visto che squid -k shutdown impiega molto tempo prima del quale squid non può essere startato
altro.
conto di terminarlo nel weekend.

Ciao
01

Re: squid in rc.d

Inviato: ven 16 gen 2009, 21:11
da targzeta
ZeroUno ha scritto:...
conto di terminarlo nel weekend.
...
Poi potresti postarlo? Ho alcuni dubbi ma forse è solo perchè non ho capito bene ciò che volevi dire :).

Spina

Re: squid in rc.d

Inviato: ven 16 gen 2009, 23:26
da ZeroUno
spina ha scritto:Poi potresti postarlo?
non è terminato e ci devo fare ancora modifiche su quello che ho scritto.

Codice: Seleziona tutto

#!/bin/bash
# BOZZA NON TERMINATA
SQUID=/usr/sbin/squid
PARAMS=""
CONF=/etc/squid/squid.conf
CACHE=$(cat /etc/squid/squid.conf|grep ^coredump_dir|awk '{print $2}')
if [ -z "$CACHE" ];then
       CACHE=/var/log/squid/cache
fi
PIDFILE=$(grep ^pid_filename /etc/squid/squid.conf|awk '{print $2}')
if [ -z "$PIDFILE" ];then
       PIDFILE=/var/log/squid/logs/squid.pid
fi

case $1 in
       'start')
               if [ -e $PIDFILE ];then
                       PID=$(cat $PIDFILE)
                       ps $PID|grep -qw squid
                       if [ $? -eq 0 ];then
                               echo "SQUID is already running"
                       else
                               rm $PID
                       fi
               fi
               if [ ! -e $CACHE ];then
                       mkdir $CACHE
                       chown nobody:nogroup $CACHE
                       squid -z
               echo
               fi
               echo -n "Starting SQUID."
               $SQUID $PARAMS
               TIME=5
               while [ $TIME -gt 1 ];do
                       echo -n "."
                       if [ -e $PIDFILE ];then
                               PID=$(cat $PIDFILE)
                               ps $PID|grep -qw squid
                               if [ $? -eq 0 ];then
                                       TIME=0
                               fi
                       else
                               TIME=$[$TIME-1]
                               sleep 1
                       fi
               done
               if [ $TIME -eq 0 ];then
                       echo " succeded."
               else
                       echo " failed!"
               fi
               ;;
       'stop')
               ;;
       'restart')
               ;;
       *) echo "Usage: $0 start | stop | restart"
               ;;
esac
Ciao,
01

Re: squid in rc.d

Inviato: sab 17 gen 2009, 10:41
da conraid
su slackbuilds.org hanno un rc.squid, prova a vedere anche quello

Re: squid in rc.d

Inviato: sab 17 gen 2009, 14:33
da ZeroUno
beh, fa più o meno quello che fa il mio (o almeno che farebbe quando è terminato.. ci ho già trovato dei bug da correggere), quindi tanto vale inserire quello.
http://slackbuilds.org/slackbuilds/12.2 ... .squid.new
il mio avrebbe fatto forse una sola cosa diversa.
in caso di stop, squid -k shutdown impiega molto tempo; l'rc di slackbuilds.org attende che si chiude oppure lo forza dopo 30sec
il mio attenderebbe solo in fase di restart. In caso di stop, lo lascio backgrounding e restituisco il prompt. In caso di restart invece devo necessariamente attendere.

Comunque a questo punto lascio perdere e uso quello di slackbuilds (dimentico sempre l'esistenza di quel sito). Si potrebbe includere quello anche nello slacky-squid

Solo una nota: io aggiungerei SQUIDPARAMS=""
e $SQUIDCMD $SQUIDPARAMS

io per esempio lancio squid con il -D

Ciao,
01

Re: squid in rc.d

Inviato: sab 21 feb 2009, 14:41
da ZeroUno
Ho reinstallato la nuova versione di squid su slacky ed ho trovato dei bug sull'rc.squid che è stato incorporato

Codice: Seleziona tutto

. rc.squid start
Creating swap directories:  /usr/sbin/squid -z
Starting Squid:  /usr/sbin/squid -DF
WARNING: Cannot write log file: /var/log/squid/logs/cache.log
/var/log/squid/logs/cache.log: Permission denied
         messages will be sent to 'stderr'.
lo script non fa il chown -R nobody:nogroup /var/log/squid

Codice: Seleziona tutto

# . /etc/rc.d/rc.squid start
Creating swap directories:  /usr/sbin/squid -z
Starting Squid:  /usr/sbin/squid -DF
# . /etc/rc.d/rc.squid stop
Shutting down Squid in 30 seconds:  ..............................
# . /etc/rc.d/rc.squid start
Creating swap directories: /usr/sbin/squid -z
Starting Squid:  /usr/sbin/squid -DF
Viene rilanciata la creazione della cache anche agli avvi successivi al primo.

Codice: Seleziona tutto

# vi /etc/rc.d/rc.squid
  ALL_DIRS=$(awk '/^cache_dir/ {print $3}' $SQUIDCFG)
  [ -z "$ALL_DIRS" ] && ALL_DIRS=/var/cache/squid
è errato il path di default della cache. Dovrebbe essere /var/log/squid/cache.

Mando la segnalazione.

Ciao
01