41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
#!/bin/bash
|
|
set -vx
|
|
# remove previous pid (if exist) after crash
|
|
rm /var/run/squid.pid
|
|
|
|
if [ $NOAUTO == "yes" ];then
|
|
squid -z -n $HOSTNAME
|
|
squid -N -n $HOSTNAME
|
|
fi
|
|
|
|
# + 48h
|
|
LIMIT="-cmin +2880"
|
|
|
|
# le cache contient des repertoires pas utilisés depuis plus de $LIMIT
|
|
FINDTIME=$(find /var/spool/squid/$HOSTNAME/* -maxdepth 0 -type d $LIMIT | wc -l)
|
|
# Combien de rep en tout
|
|
NOWREP=$(find /var/spool/squid/$HOSTNAME/* -maxdepth 0 -type d | wc -l)
|
|
|
|
chown -R squid /var/log/squid
|
|
|
|
# Not exist or too old
|
|
if [ ! -d "/var/spool/squid/$HOSTNAME" ] || [ $FINDTIME == $NOWREP ];then
|
|
squid -z -n $HOSTNAME
|
|
sleep 5
|
|
else
|
|
touch "/var/spool/squid/$HOSTNAME"
|
|
fi
|
|
|
|
while test -e /var/run/squid.pid
|
|
do
|
|
echo "cache is generated/checked"
|
|
sleep 1
|
|
done
|
|
|
|
# Find and remove old useless caches directories (not used after limi valuet). sleep is only used to wait other containers are well started.
|
|
mkdir /tmp/empty
|
|
sleep 20 && find /var/cache/squid/* -maxdepth 0 -type d $LIMIT -exec rsync -a -v --delete /tmp/empty/ {}/ \; && rm -d /var/cache/squid/* 2>/dev/null &
|
|
|
|
squid -N -n $HOSTNAME
|
|
|