Bonjour,
je vieillis et "mes p'tites cellules grises" comme disait Hercule Poirot s'entre-connectent difficilement.
Le script fourni peut être enrichi, ça va de soi.
Par exemple, compte tenu de la mise à jour hebdomadaire, au mieux, de la liste "hosts" par sebsauvage.net, on pourrait conserver une copie de ce fichier hosts qq part sur un disque dur, ou une clé usb.
Dans mon cas, j'ai préféré le disque dur, plus facile à traiter.
Ensuite, on pourrait créer un n° de version de ce fichier calculé avec "stat" afin d'obtenir sa date en secondes.
Puis, comparer cette version à la date courante.
Si l'écart entre les deux est supérieur à 7 jours (604800 secondes tout de même), le script ira récupérer la liste sur le site sebsauvage.net.
Une autre solution serait de défnir une tâche avec "crontab" : sebsauvage.net fournit un script prêt à l'emploi, sauf erreur de ma part.
Comme j'utilise Toutou Slaxen exclusivement en mode usb-live sans pupsave, je vous énumère comment j'ai modifié mon script.
1°) création d'une copie de /etc/hosts :
après la ligne :
echo "#-------->Fin liste blocage-------" >> /etc/hosts
j'ai ajouté :
cp -f /etc/hosts /chemin_vers/hosts
2°) calcul du numéro de version du dernier fichier hosts :
après la ligne :
grep -E ^0\.0 hosts > result
j'ai ajouté :
stat -c %Y result > /chemin_vers/v_hosts.txt
3°) comparaison entre les dates courante et de la date de la dernière version de hosts, si elle existe :
en début de script après les lignes de commentaires, j'ai ajouté :
version_hosts=$(cat /chemin_vers/v_hosts.txt)
delai="604800"
date_en_s=$(date +%s)
if [ -f /chemin_vers/v_hosts.txt ]
then
if [ $(echo "$date_en_s-$version_hosts" | bc) -lt $delai ]
then echo "
MISE À JOUR INUTILE !
Le dernier fichier hosts date de moins d'une semaine.
Copie en cours du dernier fichier hosts dans /etc/
Merci.
" & cp -f /chemin_vers_copie_de/hosts /etc/hosts & sleep 5 && exit
fi
fi
IL y a certainement mieux à faire, mais c'est plus cher .
Amusez-vous bien.
Amitiés.