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
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
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
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
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
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