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