]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - inst/util.sh
Agrego material pulenta para el final.
[z.facultad/75.08/llamadas.git] / inst / util.sh
index 1cfb6c1e2acaa6ee6a43aa3ca0feb4df8867f4e5..2465e9893f9b66fb9c2c55cb08942afb11601937 100755 (executable)
@@ -133,3 +133,34 @@ perr()
        echo $@ >&2
 }
 
        echo $@ >&2
 }
 
+
+# Pone un MSG en el log
+# Parametros :
+#  $1 = Archivo del log
+#  $2 = Comando
+#  $3 = Mensaje
+#  $4 = Tamaño maximo
+put_log() {
+       fecha=$(date +%d/%m/%Y-%H:%M)
+       echo "$fecha $USER $2:\"$3\"" >> $1
+
+       clean_log "$1" "$4"
+}
+
+# Trunca un archivo de log si pasa el tamaño máximo.
+# Uso: clean_log log_filename max_log_size_bytes
+clean_log()
+{
+       LOGFILE="$1"
+       LOGSIZE="$2"
+       # Archivo temporal
+       tmp=`dirname "$LOGFILE"`"/`basename $0`.$$.temp"
+       # Verifico que el logfile no se pase del tamaño maximo
+       tam=`stat -c '%s' "$LOGFILE"`
+       # Si se paso del maximo dejo las ultimas 100 lineas
+       if [ "$tam" -ge "$LOGSIZE" ]; then
+               tail -n 100 "$LOGFILE" > "$tmp"
+               mv "$tmp" "$LOGFILE"
+       fi
+}
+