Cuanto tiempo tarda un script bash en ejecutarse.
Tal vez pienses que este articulo es a modo de curiosidad, ni mucho menos querido lector, conocer el tiempo de ejecución es algo indispensable en entornos donde se lanzan muchos script y tareas cron para evitar posibles encolamientos y saturación del sistema.
Con el comando time podemos saber (entre otras cosas) cuanto tiempo tarda un script bash desde que comienza hasta que termina, ademas nos aporta el tiempo del usuario y del sistema. Vamos a ver como conseguir estos resultados.
Cuanto tiempo tarda un script bash en ejecutarse
Como ejemplo usamos un script de mantenimiento que uso en mis servidores.
Sintaxis:
time [script]
Comando time con script de ejemplo.
time bash libera.sh
El script se ejecuta, cuando termina imprime en pantalla algo similar a lo siguiente…
# datos de ejemplo real 0m27.529s user 0m0.074s sys 0m1.365s
Como puedes ver no ofrece los resultados con microsegundos, los explicamos:
- real: Explicado de forma brusca, es el tiempo que tarda desde que pulsas la tecla ENTER, hasta que termina todo el proceso.
- user: Es el tiempo que el usuario (nosotros) a utilizado la CPU.
- sys: Es el tiempo que la CPU trabaja con el kernel.
También puedes medir el tiempo de cualquier comando, por ejemplo de update, observa…
time yum update
ejemplo de salida…
[root@demo ~]# time yum update Complementos cargados:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: centos.crazyfrogs.org * epel: mirror.freethought-internet.co.uk * extras: centos.crazyfrogs.org * updates: centos.crazyfrogs.org No packages marked for update real 0m3.886s user 0m0.488s sys 0m0.063s
Como hemos visto, time es más útil de lo que parece en un principio.
Scipt bash libera.sh
Bueno, dejando a un lado el articulo >>Cuanto tiempo tarda un script bash en ejecutarse<<, seguro que más de uno me manda un correo preguntando por el script que utilice en el ejemplo. Es un script bastante simple pero muy útil en el mantenimiento diario de un servidor o vps. Viene de premio con este post, jajaj.
nano libera.sh
Copia y pega lo siguiente.
#libera.sh #!/bin/bash #*****Created by SergioG.B.***** #*****https://www.sololinux.es***** echo "<---------------------------------------------------------->" echo "<---------------------------------------------------------->" # hostnamectl set-hostname sololinux # echo "Comprobando estado de memoria" free echo "OK - Verificacion completada" echo "<---------------------------------------------------------->" sleep 2s; echo “Limpieza de memoria cache y swap“; echo "<---------------------------------------------------------->" sleep 2s; echo "Deshabilitando HTTP" killall -KILL httpd echo "OK - Http deshabilitado" echo "<---------------------------------------------------------->" sleep 1s; echo "Deshabilitando Swap" swapoff -a echo "OK - Swap deshabilitado" echo "<---------------------------------------------------------->" sleep 2s; echo "Liberando pagecaches, dentries e inodes" sync;sysctl -w vm.drop_caches=3;sync echo "OK - Server liberado" echo "<---------------------------------------------------------->" sleep 3s; echo "Habilitando la Swap" swapon -a echo "OK - Swap habilitado" echo "<---------------------------------------------------------->" sleep 3s; echo "Habilitar HTTP y reinciar Nginx/MariaDB" #systemctl restart mariadb sleep 1s; service httpd start sleep 1s; service nginx restart echo "OK - Todo habilitado" echo "<---------------------------------------------------------->" sleep 3s; echo "Reiniciar-habilitar Memcached" chkconfig memcached on service memcached restart service memcached start echo "OK - Memcached habilitado" echo "<---------------------------------------------------------->" #service ddos restart sleep 2s; echo "Verificacion rutinario" echo "Script libera sh" echo "Created by SergioG.B." echo "https://www.sololinux.es" echo "<---------------------------------------------------------->" sleep 2s; free echo ".....TODO CORRECTO....." echo "<---------------------------------------------------------->" echo "<---------------------------------------------------------->"
Lo modificas según tus necesidades.
Guarda el script, y cierra el editor. Lo ejecutas y listo.
Canales de Telegram: Canal SoloLinux – Canal SoloWordpress
Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.