Another Home Page Blog

Born to be root !
  • Accueil
  • Archives
  • A propos

» Catégorie : Linux et Logiciels libres

Fil Atom des billets de cette catégorie Fil des billets
Fil Atom des commentaires de cette catégorie Fil des commentaires

Nombre d'occurences d'un champ dans un fichier

Après la coloration d'un grep pour une histoire de cron, voici un autre cas sympathique : je souhaitais savoir qui faisait le plus de requêtes sur un serveur web (Apache), avec un classement. Un genre de top 5 ou top 10 des plus gros requêteurs de pages sur le dit serveur, en somme. J'ai cherché du côté de Awk, qui permet de manipuler à loisir les sorties de programmes et autres fichiers textes.

Comme je ne suis pas très doué en Awk, j'ai demandé à mon moteur de recherche favori (qui n'est plus Goo... d'ailleurs) comment obtenir le nombre d'occurrences d'une chaîne de caractères. La réponse se trouvait là. Par contre pour faire mon top 10, il me fallait ensuite trier la liste obtenue en utilisant le nombre d'occurrences comme critère. Après quelques pipelines et autres awk hasardeux, j'en suis venu à ça :

awk '{frequencies[$1]++;} END {for (ip in frequencies) printf "%d\t%s\n" , frequencies[ip] , ip;}' < /mon/fichier/de/log/apache | sort -gr | head -10

Grâce à Awk, j'obtiens une sortie avec d'abord le nombre de requêtes, puis l'adresse ip. J'envoie ensuite cette sortie dans sort, dont l'option -g permet de faire des tris sur des nombres et l'option -r permet d'inverser le tri. Pour finir, head me permet de limiter mon classement aux 10 meilleurs. Cette ligne ne me satisfait pas complètement, car j'ai d'abord le nombre de requêtes, puis l'adresse IP. j'aurais aimé trouver une solution élégante mais tout ce que j'ai pu faire c'est invoquer à nouveau awk après le sort. Si quelqu'un a une idée, je suis preneur ;-)

Par Nils | lundi, mars 1 2010 | 12:30
Commentaires
3 commentaires
Catégorie
Linux et Logiciels libres
Tags
Awk, Linux

Fil Atom des commentaires de ce billet Fil des commentaires de ce billet

Recherche colorée dans les logs avec perl

Voici un petit one-liner assez sympathique, dont on m'avait parlé dans la semaine et sur lequel je suis tombé par hasard en cherchant autre chose. Le principe est d'afficher dans une autre couleur un texte donné dans une recherche, comme par exemple une erreur précise dans un fichier de logs. Sur une machine j'ai des problèmes avec cron, je l'utilise donc de la manière suivante :

root@lolcathost:~# tail -f /var/log/syslog | perl -pe 's/cron/\e[1;31m$&\e[0m/ig'

On remarque une différence avec le lien indiqué plus haut, j'ai mis "/ig" à la fin au lieu de "/g". Pourquoi? J'avais besoin de faire la recherche sans tenir compte de la casse, et j'ai trouvé l'option suite à une rapide recherche. Je devrais vraiment me mettre à perl, ça me semble vraiment efficace et pratique :-)

Pour ceux qui pensent que j'ai fait une faute de frappe dans la recopie du prompt, je leur recommande d'aller voir ici.

Par Nils | samedi, février 13 2010 | 12:35
Commentaires
aucun commentaire
Catégorie
Linux et Logiciels libres
Tags
cron, Linux, Perl

Fil Atom des commentaires de ce billet Fil des commentaires de ce billet

Supprimer ses daily outpout dans NetBSD

Il m'arrive d'écrire ailleurs qu'ici. Ma dernière contribution à l'extérieur explique comment supprimer les mails journaliers "daily output" de NetBSD sans pour autant supprimer les envois de mail "security output" envoyés si un problème de sécurité est détecté sur le système. Au lieu de tout recopier, je préfère mettre un lien.

Bonne lecture !

Par Nils | mercredi, janvier 20 2010 | 23:59
Commentaires
aucun commentaire
Catégorie
Linux et Logiciels libres

Fil Atom des commentaires de ce billet Fil des commentaires de ce billet

Utilisation transparente d'une passerelle SSH

Ou comment rebondir sans même le faire exprès !

Lire la suite...

Par Nils | mardi, décembre 22 2009 | 11:56
Commentaires
aucun commentaire
Catégorie
Linux et Logiciels libres
Tags
ssh

Fil Atom des commentaires de ce billet Fil des commentaires de ce billet

Coloration syntaxique de fichiers de configuration Apache sous Vim

Une petite astuce qui peut s'avérer pratique si comme moi on apprécie beaucoup la coloration syntaxique de Vim. Je scinde mes virtual hosts en plusieurs fichiers de configuration, en général un par domaine. Or, contrairement au reste des fichiers de configuration classiques d'Apache, et des fichiers de configuration d'applications web (comme phpMyAdmin, Cacti ou Nagios), mes fichiers de virtual hosts ne sont pas colorés. J'ai remarqué que le fichier de configuration Apache de phpMyAdmin sous NetBSD possédait l'en-tête suivante :

# $NetBSD: phpmyadmin.conf,v 1.3 2008/05/03 10:46:28 adrianp Exp $
#
# phpmyadmin configuration file fragment for Apache

J'ai donc ajouté à mon fichier de virtual host l'en-tête suivante :

# Another Home Page configuration file fragment for Apache

Et voici mon fichier tout coloré ! A noter qu'au préalable, j'avais activé la coloration syntaxique. Voici un fichier de configuration basique de Vim pour la coloration syntaxique à enregistrer dans ~/.vimrc :

syntax on
set bg=dark

Si vous utilisez un terminal à fond blanc/clair, remplacez dark par light.

Par Nils | vendredi, novembre 13 2009 | 10:35
Commentaires
aucun commentaire
Catégorie
Linux et Logiciels libres
Tags
Apache, Vim

Fil Atom des commentaires de ce billet Fil des commentaires de ce billet

« billets précédents

Thème

Catégories

  • Divers (19)
  • Linux et Logiciels libres (47)
  • Sécurité (5)
  • Humour (9)
  • Humeur (21)
  • Apple - Macintosh (11)
  • Hardware (3)
  • Another Home Page (12)

Tags

  • Apache
  • Awk
  • Awstats
  • Beryl
  • Bind
  • CentOS
  • Condensateur
  • Dotclear
  • Linux
  • Mandriva
  • mp3
  • RHEL
  • RPM
  • RPMforge
  • Rémingway
  • soleil
  • ssh
  • SSL
  • thème
  • Xorg

Tous les tags

Propulsé par Dotclear - Thème Freshy de Julien de Luca adapté depuis Wordpress