Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 14-06-2010 09:06:53

sanguinarius
Membre
Inscription : 14-06-2010

Fonction de log BASH

Bonjour,

Afin de répondre a une nécessite de log dans mes script et aucune fonction vraiment maniable existant, je me suis penché sur cette petite fonction bash permettant de gérer un système de log.( des choses sont certainement à améliorer)
Cette fonction peut tres bien etre utilisé en tant que soft independant et etre mis dans le $PATH ce qui permettrait de l'appeler dans n'importe quel langage.

log() {
  #Path for save zone (/var/log/)
  path=$1
  #Name for save file (file+day.log)
  name=$2
  #String write in logfile
  string=$3
  #Current directory for save (Month+Year)
  current_date=$(date +'%Y-%02m')
  #Current File for save (date)
  current_day=$(date +'%d')
  #Current time for log
  current_time=$(date +'[%H:%M:%S]:::')
  if [ $# -eq '3']
  then
    if [ -n "$path" ]
    then
      current_dir= ${path}"/"${current_date}
      #Create directory if doesn't exist
      if [ ! -d ${current_dir} ]
      then
        mkdir ${current_dir}
      fi
      #Write in logfile
      filename = ${name}"-"${current_day}".log"
      echo ${current_time}${string} >> ${current_dir}"/"${filename}
    else
      help
      exit
    fi
  else
    help
    exit
  fi
 
  ### HELP LOG FUNCTION ###
  help() {
    echo "Usage: log <path directory> <name file> <text log>"
    echo "Exemple: log /var/log/kalk/ KalkWebsite \"Hash add in Cracker DB\" "
    exit
  }
}

Hors ligne

Pied de page des forums