Creation de script

Fermé
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 août 2022 - Modifié par FRED92G le 21/06/2012 à 16:59
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 août 2022 - 23 juin 2012 à 16:49
Bonjour,

Je recherche un script qui reprend les fichiers log de mes blacklists squidGuard qui me les tri ensuite pas IP client dans un autre fichier

Ce qui me donne un fichier par IP client

Ensuite le fichier squidGuard.log soi archiver avec les dossiers IP par client

Mes la difficulté serai qu'il soit en temps réel pour la création des fichiers par IP clients

Et que l'archivage soit nommer de la dater du jour et quel ce face pendent la procédure d'arrêt du proxy avent que le pc s'arrête

merci
A voir également:

1 réponse

mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
22 juin 2012 à 20:51
Sans voir la structure des fichiers difficile à dire. À mon avis le mieux que tu aies à faire c'est te familisariser avec les commandes shell dont tu vas avoir besoin (tail, grep) et les redirections (pipes, >, >>, ...).

Exemple :

tail -f /var/log/monfichierdelog | egrep "([0-9]{1,3}\.){3}[0-9]{1,3}"


... permet d'écouter l'arrivée de nouvelle lignes dans /var/log/monfichierdelog et d'extraire les lignes qui contiennent une adresse IP.

Ensuite l'idéal serait que tu lises un tutoriel de programmation shell de sorte à écrire un fichier qui lorsqu'il reçoit une ligne contenant une adresse IP, extrait l'information dont tu as besoin et l'écrive dans le fichier approprié.

Supposons que tu sauves la lignes que tu lis dans la variable "ligne", par exemple à l'aide de cette méthode :
https://forums.commentcamarche.net/forum/affich-37620017-comment-lire-un-fichier-ligne-par-ligne

Alors cette commande extrait l'adresse IPv4 de la chaîne stockée dans la variable "ligne" :

echo $ligne | egrep -Eo "([0-9]{1,3}\.){3}[0-9]{1,3}"


Tu peux donc sauver l'ip présente dans une ligne avec une instruction shell dans ce genre :

ligne=...
ip="$(echo $ligne | egrep -Eo "([0-9]{1,3}\.){3}[0-9]{1,3})"


On peut alors imaginer construire le nom du fichier dans lequel sauver une information comme ceci

filename="/tmp/monfichier_${ip}"


... et ainsi écrire à la fin de ce fichier comme suit :

echo "pouet" >> $filename


Bonne chance
0
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 août 2022 4
22 juin 2012 à 20:59
le truck c est que se son les logs de squidguard a trier donc les logs bl_porn bl_adult bl_mixte_adult voila pour les nom des logs après comment ecrire le script je voit pas comme tu la dit en plus faut le sauvegarder le document trier et qu il soit archiver en tar.gz
0
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
23 juin 2012 à 12:00
Je n'ai rien compris. Essaye d'être plus clair (qu'est ce que tu veux faire exactement etc...), de faire moins de fautes, sinon je vais avoir du mal à t'aider :-)

Je pense que tu peux en attendant déjà commencer à lire un cours de shell.
0
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 août 2022 4
23 juin 2012 à 12:05
squidguard a son logs principale et des sous logs pour les catégorie de liste qui bloque donc les bl_porn bl _mixte adulte et bl_adult son des rapport de blocage de site qui se von si les gent vont sur les site bloquer donc je voudrai trier c est log par adresse ip pour éviter d avoir un log avec 10 adresse ip dedans
0
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 août 2022 4
23 juin 2012 à 12:07
je voudrai me retrouver avec 10 nouveau log par ip c est plus facile pour contrôler après
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
23 juin 2012 à 12:15
Salut,

Commences par mettre en application ce que t'as dit/donné mamiemando dans son 1er post, lis des tutoriels sur les scripts et reviens nous voir là où tu coinces.

Ce que tu veux n'existe pas en tout prêt, tu dois construire ton propre script selon tes besoins spécifiques.
0