[script] Traitement journal de connexion Freebox V5

Autres projets et contributions
avi3000
Chu Ko Nu
Messages : 308
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

[script] Traitement journal de connexion Freebox V5

Message par avi3000 » sam. 23 mai 2015, 10:09

Bonjour,

Ayant des problèmes de connexion avec ma freebox, j'ai mis en place un timer/service systemd
et un script bash pour récupérer et formater le journal de connexion.
les fichiers sont ici

Code : Tout sélectionner

freebox/
├── freebox.service
├── freebox.timer
├── log 
│   ├── archives
│   │   ├── fbx_info_2014-04-21_09:49:43.txt
│   │   ├── fbx_info_2015-05-08_09:49:43.txt
│   │   ├── fbx_info_2015-05-13_09:49:43.txt
│   │   ├── fbx_info_2015-05-22_08:37:09.txt
│   │   └── fbx_info_2015-05-22_09:37:29.txt
│   ├── fbx_info_2015-05-23_00:30:02.txt
│   └── fbx_info_2015-05-23_08:31:07.txt
└── mes_fonctions_freebox
freebox.service

Code : Tout sélectionner

[Unit]
Description=Log activité freebox

[Service]
Type=simple
ExecStart=/usr/bin/bash -e -c ". /mnt/homes/freebox/mes_fonctions_freebox && fbx_curl"
User=1000

# à copier dans /etc/systemd/system
# vim: ts=4 sw=4
freebox.timer

Code : Tout sélectionner

[Unit]
Description=Exécute freebox.service toutes les heures

[Timer]
# Attente après le boot avant la 1ère exécution
OnBootSec=10min

# intervalle entre chaque exécution
OnUnitActiveSec=1hour
Unit=freebox.service

[Install]
WantedBy=timers.target

# à copier dans /etc/systemd/system/multi-user.target.wants
# vim: ts=4 sw=4
mes_fonctions_freebox

Code : Tout sélectionner

#!/bin/bash
#--------------------------------------------------------#
#-                                                      -#
#-  à sourcer pour mise à disposition des fonctions     -#
#-                                                      -#
#-  Récupération fbx_info     : fbx_curl                -#
#-  Suppression doublons log  : fbx_purge_log           -#
#-  Formatage log déconnexion : fbx_awk                 -#
#-                                                      -#
#--------------------------------------------------------#

scriptpath='/mnt/homes/freebox'

read -r -d '' awk_trt <<EOF
/^ Journal/,/^Wifi/ {
    if ( /Connexion/ )
        z=sprintf("%s %s %s %7s %s %s", \$2, \$3, \$4, \$5, \$6, \$7)
    else if ( /Déconnexion/ ) {
        split(\$1, dd, "/")
        printf("%s  %s  %s %s %s,  %s\n", dd[3]dd[2]dd[1]\$3, \$1, \$2, \$3, \$4, z)
    }
}
EOF

read -r -d '' awk_boot <<EOF
/mise en route/ {
    deb=(\$7*3600*24)-(3600*\$9)-\$11
}

/Mise en /      {
    l=length(FILENAME)
    d=sprintf(mktime(gensub(/-|:|_/, " ", "g", substr(FILENAME,l-22,19))))
    printf("%s  %s Mise en route\\n",
        strftime("%Y%m%d%H:%M:%S",d-deb),
        strftime("%d/%m/%Y  à %H:%M:%S",d-deb))
}
EOF

fbx_curl() {
    fname=$scriptpath/log/fbx_info_$(date +%F_%H:%M:%S).txt
    curl http://mafreebox.free.fr/pub/fbx_info.txt | iconv -f latin1 -t utf8 > $fname
}

fbx_awk() {
    shopt -s globstar
    awk "$awk_trt$awk_boot" $scriptpath/log/**/fbx* | sort -ur | cut -c 17-
}

fbx_purge_log() {
    local IFS=$'\n'
    z=($(find $scriptpath/log/fbx*));
    for ((i=0;i<${#z[*]};i++)); do
        sum[i]=$(awk "$awk_trt /Mise en route/{print}" "${z[i]}"|cksum)
    done

    for ((i=1;i<${#z[*]};i++)); do
        [ "${sum[i-1]}" = "${sum[i]}" ] &&
            rm "${z[i-1]}" ||
            mv "${z[i-1]}" "$scriptpath/log/archives"
    done
}

# vim: ts=4 sw=4
extrait du journal formaté

Code : Tout sélectionner

  23/05/2015  à 03:00:46 Déconnexion,  à 03:01:09 Connexion    8562 / 1025
  13/05/2015  à 19:01:49 Déconnexion,  à 19:02:14 Connexion    9999 / 1025
  13/05/2015  à 18:55:10 Déconnexion,  à 18:55:57 Connexion    8873 / 1025
  13/05/2015  à 18:44:17 Déconnexion,  à 18:44:41 Connexion    9901 / 1025
  13/05/2015  à 18:41:52 Déconnexion,  à 18:42:16 Connexion   10045 / 1025
  13/05/2015  à 18:34:02 Déconnexion,  à 18:34:25 Connexion   10142 / 1025
  13/05/2015  à 18:31:09 Déconnexion,  à 18:31:32 Connexion    9440 / 1025
  13/05/2015  à 17:42:53 Déconnexion,  à 17:43:16 Connexion    9709 / 1025
  13/05/2015  à 08:44:44 Déconnexion,  à 08:45:30 Connexion    7794 / 1025
  13/05/2015  à 08:14:46 Mise en route
  13/05/2015  à 07:51:08 Déconnexion,  à 07:51:31 Connexion   10020 / 1025
  13/05/2015  à 05:44:46 Déconnexion,  à 05:45:09 Connexion    9665 / 1025
  13/05/2015  à 05:26:47 Déconnexion,  à 05:27:11 Connexion    9758 / 1025
  13/05/2015  à 04:50:43 Déconnexion,  à 04:51:07 Connexion    9820 / 1025
  13/05/2015  à 04:49:01 Déconnexion,  à 04:49:24 Connexion    9828 / 1025
  12/05/2015  à 21:52:46 Déconnexion,  à 21:53:09 Connexion    9697 / 1025
  12/05/2015  à 21:41:45 Déconnexion,  à 21:42:32 Connexion    9791 / 1025
  12/05/2015  à 21:11:17 Déconnexion,  à 21:11:40 Connexion    9831 / 1025
  12/05/2015  à 21:05:30 Déconnexion,  à 21:05:54 Connexion    9831 / 1025
  12/05/2015  à 20:59:17 Déconnexion,  à 20:59:40 Connexion    9656 / 1025
  12/05/2015  à 16:11:19 Déconnexion,  à 16:11:42 Connexion   10024 / 1025
  04/05/2015  à 02:12:57 Déconnexion,  à 02:13:21 Connexion    9725 / 1025
  03/05/2015  à 20:03:07 Déconnexion,  à 20:03:30 Connexion    9391 / 1025
  03/05/2015  à 15:50:28 Mise en route
jounal

Code : Tout sélectionner

______________________________________________________________________

                      Etat de la Freebox    
______________________________________________________________________


Informations générales :
========================

  Modèle                         Freebox ADSL    
  Version du firmware            1.5.20    
  Mode de connection             Dégroupé    
  Temps depuis la mise en route  5 jours, 14 heures, 48 minutes


Téléphone :
===========

  Etat                           Ok    
  Etat du combiné                Raccroché    
  Sonnerie                       Inactive    


Adsl :
======

  Etat                           Showtime    
  Protocole                      ADSL2+    
  Mode                           Interleaved    

                         Descendant         Montant    
                         --                 --    
  Débit ATM              9243 kb/s          1225 kb/s    
  Marge de bruit         8.50 dB            7.50 dB    
  Atténuation            40.50 dB           22.00 dB    
  FEC                    1198678            3000856    
  CRC                    661116             0    
  HEC                    14831              4736333    

 Journal de connexion adsl :
 ---------------------------

  Date                         Etat             Débit (kb/s)    
  --                           --               --    
  23/05/2015 à 03:01:09        Connexion        8562 / 1025    
  23/05/2015 à 03:00:46        Déconnexion    
  23/05/2015 à 02:12:53        Connexion        9341 / 1025    
  23/05/2015 à 02:12:25        Déconnexion    
  23/05/2015 à 01:45:31        Connexion        8994 / 1025    
  23/05/2015 à 01:44:44        Déconnexion    
  23/05/2015 à 01:12:19        Connexion        9058 / 1025    
  23/05/2015 à 01:11:33        Déconnexion    
  22/05/2015 à 20:42:49        Connexion        6949 / 1025    
  22/05/2015 à 20:42:03        Déconnexion    
  22/05/2015 à 19:18:50        Connexion        9419 / 1025    
  22/05/2015 à 19:18:27        Déconnexion    
  22/05/2015 à 19:13:40        Connexion        9755 / 1025    
  22/05/2015 à 19:13:16        Déconnexion    
  22/05/2015 à 19:12:25        Connexion        7473 / 1025    
  22/05/2015 à 19:12:02        Déconnexion    
  22/05/2015 à 17:21:38        Connexion        9762 / 1025    
  22/05/2015 à 17:21:14        Déconnexion    
  22/05/2015 à 17:08:02        Connexion        6582 / 1025    
  22/05/2015 à 17:07:15        Déconnexion    
  22/05/2015 à 16:13:01        Connexion        9591 / 1025    
  22/05/2015 à 16:12:37        Déconnexion    
  22/05/2015 à 16:03:39        Connexion        9611 / 1025    
  22/05/2015 à 16:03:15        Déconnexion    


Wifi :
======

  Etat                           Ok
  Modèle                         Ralink RT61
  Canal                          1
  État du réseau                 Activé
  Ssid                           ma_freebox
  Type de clé                    WPA (TKIP+AES)
  FreeWifi                       Actif
  FreeWifi Secure                Actif


Réseau :
========

  Adresse MAC Freebox            00:00:00:00:00:00
  Adresse IP                     00.000.000.00
  IPv6                           Activé
  Mode routeur                   Activé
  Adresse IP privée              000.000.0.000
  Adresse IP DMZ                 000.000.0.0
  Adresse IP Freeplayer          000.000.0.0
  Réponse au ping                Désactivé
  Proxy Wake On Lan              Désactivé
  Serveur DHCP                   Activé
  Plage d'adresses dynamique     000.000.0.00 - 000.000.0.00

 Attributions dhcp :
 -------------------

  Adresse MAC            Adresse IP
  --                     --
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00
  00:00:00:00:00:00      000.000.0.00

 Interfaces réseau :
 -------------------

                         Lien           Débit entrant  Débit sortant
                         --             --             --
  WAN                    Ok             0 ko/s         0 ko/s
  Ethernet                              0 ko/s         0 ko/s
  USB                    Non connecté
  Switch                 100baseTX-FD   0 ko/s         0 ko/s

Répondre