Gestion d'un logs pour un hotspot avec captiveportal
-
Bonjour,
Je souhaite mettre en place un hotspot qui conserve les logs (identifiant du hotspot, adresse mac et site visité) pendant 1 an.
Pour des raisons techniques, je souhaite faire cela en en local.
J'ai donc installé squid comme proxy transparent
Le souhaite donc installer logrotate afin d'effectuer une rotation automatique des fichiers access.log et portalauth.log sur 1 an avec compression.
Je ne trouve pas comment installer logrotate, tout le monde parle d'un serveur syslog distant mais ça ne peut pas fonctionner dans mon cas.
Avez-vous une idée?Merci d'avance
-
Bonjour,
J'ai trouvé une solution via un petit script:#!/bin/bash #compression des logs squid et portalauth DATE=`date +"%y%m%d"` #compression logs SQUID /usr/bin/tar cvfz /var/log/logs_navigation/access_squid-$DATE.tar.gz /var/squid/ log/access.log.0 #compression logs portalauth /usr/bin/tar cvfz /var/log/logs_navigation/portal_auth-$DATE.tar.gz /var/log/por talauth.log #suppression fichiers de plus d'un an /usr/bin/cd /var/log/logs_navigation/ /usr/bin/find . -type f -mtime +365 -exec rm -vf {} \;
Quand je lance manuellement ce script, tout fonctionne à merveille
J'ai souhaité l'ajouté dans mes taches cron.
Comme vu sur le forum, j'ai modifié le .xml de config:<task_name>compression_logs</task_name> <minute>30</minute> <hour>0</hour> <mday>*</mday> <month>*</month> <wday>*</wday> <who>root</who> <command></command>/var/rotation_logs.sh
Problème, mon script ne se lance pas :'(
avec vous une idée?
Merci d'avance -
Il faut répondre à ces 2 questions :
Que signifie exactement "Quand je lance manuellement ce script" ?
Est ce ce qui est lancé par "<command></command>/var/rotation_logs.sh" ? -
@jdh:
Il faut répondre à ces 2 questions :
Que signifie exactement "Quand je lance manuellement ce script" ?
Est ce ce qui est lancé par "<command></command>/var/rotation_logs.sh" ?si je fais```
sh /var/rotation_logs.shvoici le contenu du script rotation_logs.sh:
#!/bin/sh
#compression des logs squid et portalauthDATE=
date +"%y%m%d"
#compression logs SQUID
/usr/bin/tar cvfz /var/log/logs_navigation/access_squid-$DATE.tar.gz /var/squid/
log/access.log.0#compression logs portalauth
/usr/bin/tar cvfz /var/log/logs_navigation/portal_auth-$DATE.tar.gz /var/log/por
talauth.log#suppression fichiers de plus d'un an
/usr/bin/cd /var/log/logs_navigation/
/usr/bin/find . -type f -mtime +365 -exec rm -vf {} ; -
Bonjour,
peut être le chemin absolu des commandes date et rm ?
-
comme ça?:
#!/bin/sh #compression des logs squid et portalauth DATE=`/usr/bin/date +"%y%m%d"` #compression logs SQUID /usr/bin/tar cvfz /var/log/logs_navigation/access_squid-$DATE.tar.gz /var/squid/ log/access.log.0 #compression logs portalauth /usr/bin/tar cvfz /var/log/logs_navigation/portal_auth-$DATE.tar.gz /var/log/por talauth.log #suppression fichiers de plus d'un an /usr/bin/cd /var/log/logs_navigation/ /usr/bin/find . -type f -mtime +365 -exec /usr/bin/rm -vf {} \;
Je vous dirais demain si ça à marché
-
pas mieux :'(
Y a t'il un log dans lequel je pourrais trouver plus d'informations? -
La réponse à la première question est correcte.
Mais visiblement la deuxième n'est pas comprise !Il est pourtant assez évident que la réponse à la première question DOIT servir pour corriger et permettre l'exécution.
-
@jdh:
La réponse à la première question est correcte.
Mais visiblement la deuxième n'est pas comprise !Il est pourtant assez évident que la réponse à la première question DOIT servir pour corriger et permettre l'exécution.
Désolé, je ne comprends pas
-
décidément, je vais pas y arriver :'(
J'ai remarqué que certains chemins complets n'étaient pas les bons. J'ai donc modifié mon script:#!/bin/sh #compression des logs squid et portalauth DATE=`/bin/date +"%y%m%d"` #compression logs SQUID /usr/bin/bsdtar cvfz /var/log/logs_navigation/access_squid-${DATE}.tar.gz /var/squid/log/access.log.0 #compression logs portalauth /usr/bin/bsdtar cvfz /var/log/logs_navigation/portal_auth-${DATE}.tar.gz /var/log/portalauth.log #suppression fichiers de plus d'un an /usr/bin/cd /var/log/logs_navigation/ /usr/bin/find . -type f -mtime +365 -exec /bin/rm -vf {} \;
Malheureusement, toujours pareil
Si en console, je lance mon script (sh monscript.sh)
aucun problem
par contre, dans la crontab, rien ne se lance :'( -
Dans les réglages de crontab, que peut bien signifier en français "command" ?
-
commande ?
ces l'endroit ou est ton script ex:
/usr/local/www/test_script.sh
-
J'ai vu sur le forum que fallait télécharger la configuration, la modifier et l'uploader pour ajouter une tache cron afin qu'elle ne soit pas supprimée au redémarrage.
est la syntaxe utilisée dans le fichier de configuration pour executer un script
J'ai redémarré le firewall hier et la tache cron s'est exécutée cette nuit ;)
tout à l'air de fonctionner