Los servidores a diferencia de los pc de sobremesa/domésticos, siempre están encendidos por tanto siempre están trabajando y no tienen descanso. Por este motivo, cada cierto tiempo (si es un servidor web de alto rendimiento, recomiendo cada 24h) es necesario realizar un mantenimiento preventivo y limpieza para mantener el correcto funcionamiento de los servidores lo más óptimo posible y evitar errores o situaciones que puedan dañar o enlentecer el funcionamiento de los mismos.
Por todo ello te propongo este script bash que te ayudará en la tarea, como podrás observar el mismo te ira explicando los procesos a ejecutar, es importante que no borres o modifiques los sleep (tiempo en segundos de retardo en ejecución) a no ser que quieras que se bloquee el servidor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#libera.sh #!/bin/bash echo "<---------------------------------------------------------->" echo "<---------------------------------------------------------->" echo "Comprobando estado de memoria" free echo "OK - Comprobacion 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 5s; echo "Deshabilitando Swap" swapoff -a echo "OK - Swap deshabilitado" echo "<---------------------------------------------------------->" sleep 5s; echo "Liberando page-caches, dentries e inodes" sync;sysctl -w vm.drop_caches=3;sync echo "OK - Server liberado" echo "<---------------------------------------------------------->" sleep 2s; echo "Habilitando la Swap" swapon -a echo "OK - Swap habilitado" echo "<---------------------------------------------------------->" sleep 2s; echo "Habilitando HTTP" service httpd start echo "OK - Http habilitado" echo "<---------------------------------------------------------->" sleep 3s; echo "Mantenimiento rutinario" echo "Script liberador sh" echo "Created by Sergio G.B." echo "https://www.sololinux.es" echo "<---------------------------------------------------------->" sleep 2s; free echo ".....TODO CORRECTO....." echo "<---------------------------------------------------------->" echo "<---------------------------------------------------------->" |
Si prefieres descargarlo: libera-sh
Si te interesa instalarlo directamente en tu servidor:
1 2 3 4 5 6 |
sudo wget https://www.sololinux.es/public/libera.sh.zip unzip libera.sh.zip # Ejecutar bash libera.sh |
Úsalo con sumo cuidado y bajo tu responsabilidad.
No funciona…
Sale un error de script….
Deshabilitando HTTPlibera.sh: línea 17: killall: no se encontró la orden
SI… funciona. Necesitas instalar la librería psmisc.
Revisa este articulo, https://www.sololinux.es/no-funciona-el-comando-killall-en-linux/
Ahhhh… gracias. Ahora si, jajja.
Muchas gracias.