mrclmdn
Usuario (Argentina)
Que tal, en este post voy a describir sinteticamente un script que obtiene la información de espacio en disco, en las particiones linux (en GB y MB) y lo manda en un txt a un recurso compartido en un servidor samba. Como agregado lo pondremos en el crontab (programador de tareas en linux) y haremos que el script se ejecute a las 9 de la mañana todos los días. El sistema sobre el cual fué hecho es (Red Hat) que es el que tengo en el laburo (lo mismo sería en Fedora), pero es más o menos igual para las demás distribuciones de Linux Primero creamos un archivo info_disco.sh (la extensión sh indica que será ejecutado por el shell). Linux#vi info_disco.sh #!/bin/sh smbmount //192.168.1.1/publico /temporal -o guest date > /temporal/info_disco.txt df -h >> /temporal/info_disco.txt smbumount /tmp/temp El script se podría resumir así: -La primera linea es indispensable en todos los archivos de script. -En la segunda, previa creación del directorio "temporal" con la orden mkdir Linux#mkdir temporal se monta el directorio compartido "publico" del servidor samba "192.168.1.1" en el directorio local "temporal". En este caso el directorio "publico" del servidor samba es un directorio con permisos de acceso para todos, por eso usamos el usuario guest (invitado), de otra forma deberiamos poner el usuario y contaseña. -En la tercera se crea un archivo "info_disco.txt" y se introduce la fecha (linea optativa) -En la cuarta linea se ejecuta el comando df -h (la opcion -h es la que nos da el tamaño en GB y MB, si no la ponemos por defecto nos dará el tamaño en bytes) que obtiene la info de disco y la agrega al archivo "info_disco.txt" (el simbolo > reemplaza el archivo y >> agrega). -En la última linea se desmonta el directorio "temporal" Este archivo lo colocamos en el directorio /usr/bin y lo probamos. Linux#sh info_disco.sh Si funciona lo agregamos en la programación del archivo /etc/crontab, para que se ejecute a la 9:01 todos los días. Linux/etc#vi crontab y agregamos la siguiente línea: 01 09 * * * root usr/bin/disco.sh No se olviden de iniciar el demonio crond, en el caso de Red Hat y Fedora se inicia así: Linux# service crond start -------------------------------------------------------- Versión simplificada: Para aquellos que o tienen un servidor de recursos compartidos y quieren probar el script en forma local ahí va el archivo: Linux#vi info_disco.sh #!/bin/sh date > /temporal/info_disco.txt df -h >> /temporal/info_disco.txt Por supuesto previamente debemos crear el directorio "temporal" (en la raiz del sistema en este caso o donde queramos cambiando el path /temporal por el nuestro) Los pasos para ejecutarlo y programarlo como tarea son los mismos que el anterior. Espero haber sido claro y que a alguien le sea útil. Hasta la próxima. Marcelo PD: Cualquier duda avisen y si necesitan algún script especial, escriban y quizá pueda ayudar.