Linux

Horodatage et durée d'un script


Script :

horodatage.sh

#!/bin/bash
 
# Affichage sur la sortie standard + fichier de log
exec > >(tee -a horodatage_$(date +"%d%m%d%H%M%S").log)
 
 
# Cleanup automatique du fichier temporaire a la fin du script
trap 'rm -f "horodatage.tmp"' EXIT
 
# Affichage de l'heure de début du traitement
ts_debut="$(date +'%F %T')"
printf "\n\n[${CYAN}INFO${NORMAL}] Debut du traitement : %s\n\n" "${ts_debut}"
 
#
#... contenu du script ...
#
 
# Affichage de l'heure de fin du traitement
ts_fin="$(date +'%F %T')"
printf "\n\nFin du traitement : %s\n" "$(date +'%F %T')"
 
# Calcul et affichage de la duree d'execution (au format HH:MM) :
ts1=$(date -d "${ts_debut}" +%s)
ts2=$(date -d "${ts_fin}" +%s)
diffsec=$((ts2 - ts1))
printf "Duree : $( date -u -d "@$diffsec" +%M:%S  )\n\n"