Geektool + bash = Syslog personnalisé

Classé dans : Logiciels | 0

Geektool sur MacOS permet d’inscruster sur le fond d’écran le résultat d’une commande ou d’un script bash.

Grace à cela nous allons mettre en place un système de syslog personnalisé pour tous nos scripts bash. L’idée étant de permettre depuis n’importe quel script d’ajouter une ligne de log et quelle soit affichée sur le bureau (fond d’écran).

Ce post ne parle pas de l’installation et configuration de Geektool, cela est abordé dans les posts sur : GeekTool

Il faut d’abord choisir l’emplacement du fichier de log, pour ma part ce sera dans /tmp/mysyslog.log

Le dossier tmp est ‘nettoyé’ à chaque boot du système, le fichier sera recrée automatiquement.

Il faut maintenant créer une fonction Bash pour l’insertion d’une ligne dans le log

function mylog {
  MYLOG="/tmp/mysyslog.log"
  today=`date +"%d/%m/%Y - %H:%M"`
  echo "$today - $1" >>$MYLOG
}

Cette fonction est stockée dans un fichier myFuncs

Dans chaque script il suffira d’inclure ce fichier pour pouvoir utiliser la fonction :
source .../FULL_PATH/myFuncs

Ensuite pour ajouter un log la commande est : mylog "Le texte à ajouter"

La date et l’heure sont ajoutées automatiquement par la fonction mylog.

Pour ensuite afficher les log sur le bureau avec Geektool. il suffit de créer un nouveau élément Bash, depuis la fenêtre principale de Geektool. Saisir ensuite la commande suivante : tail -f /tmp/mysyslog.log

La fréquence de refresh peut être fixer sur 10s c’est suffisant.

Reste à placer sur le bureau le bloc à l’endroit le plus pratique pour vous. Voici un exemple (le syslog est en bas à gauche) :