Quisiera saber como crear un script en linux que se ejecute en el shell que indique hace cuanto tiempo fue ejecutado y la fecha y hora de la última ejecución.
Espero que me puedan ayudar!!! Gracias!!!
¿Es para una tarea?
Es para una investigacion que estoy realizando!!! me podras ayudar???
Se puede hacer algo así:
#!/usr/bin/env bash
# Si está el siguiente archivo es que ya se ha ejecutado.
if [ -f $HOME/algo.lock ]; then
# Hacer la resta.
# Fecha actual:
date_now=$(date +%s -d "`date +"%b %d, %Y %r"`")
date_2=$(cat $HOME/algo.lock)
((diff_sec=date_now - date_2))
echo -n "Fecha entre hoy y la fecha anterior... ";
echo $diff_sec | awk '{printf "%d:%d:%d\n",$1/(60*60),$1%(60*60)/60,$1%60}'
else
echo -e "Es la primera vez que se ejecuta este script.";
# Guardar fechas
date_1=$(date +%s -d "`date +"%b %d, %Y %r"`")
echo -e "La fecha actual es: $date_1";
echo -e "$date_1" > $HOME/algo.lock
fi
El script busca un archivo en /home/user/ llamado "algo.lock", si está hace la resta entre la fecha que está en dicho archivo y la actual, sino, solo muestra la fecha actual y la guarda en dicho archivo.
Espero y sirva de algo.
leo ya lo corri y me funciono genial, solo tengo una duda... la salida que me da es lla siguiente
Fecha entre hoy y la fecha anterior... 0:4:33
Hay alguna manera de que donde me dice la hora, me tire la hora exacta en la que se ejecuto... porque hasta donde entendi el codigo loque muestra es la hora entre una corrida y otra cierto
Cierto...., en un rato más lo ajusto.
Para qué investigación es? qué intentas hacer?
Es porque estoy aprendiendo un poco mas acerca de este tema, entonces cuando me encuentro algo interesante que realizar intento investigar pero no siempre se consigue un algo tan especifico