domingo, 9 de noviembre de 2014

Scripts en linux

Comando cron y crontab



El comando cron es un administrador de procesos en segundo plano (demonio), que ejecuta procesos o guiones en  intervalos regulares de tiempo (cada minuto, días o meses).
  • Los procesos a ejecutarse y la hora se debe especificar en el fichero crontab.
Para la implementación de estos comando realizados su utilizará el siguiente script:


A continuación explicaré cada linea del script:

cd : este comando nos ubica en el directorio home del ususario

rm -R etc.backup: Esta linea de comando borra algún directorio con el nombre "etc.backup" con todo el contenido dentro de ello y si preguntar al usuario si desea hacerlo o no, en el caso de que lo hubiese, porque el objetivo de este script es crear una carpeta de respaldo del directorio /etc , si no se hace esto al momento de ejecutar el script nos mostrar un error.

mkdir etc.backup: Crea en el directorio actual un directorio de nombre "etc.backup"

cd -R    /etc    /home/edwin/etc.backup: Este linea de comando copia de forma recursiva todo el contenido de el directorio /etc al directorio "etc.backup" ubicado en el directorio home del usuario.

Una vez comprendido cada el funcionamiento de cada línea del script, procedemos a programarlo para que se ejecute en un cierto intervalo de tiempo, para eso utilizamos el comando crontab

Ingresamos el comando crontab con el siguiente parametro: crontab -e. Esto se lo hace para poder editar el archivo.
Antes de esto debemos logearnos como superusuario, si no hacemos esto, el programa (script) no funcionará.


  • m: corresponde al minuto en que se va a ejecutar el script, el valor va de 0 a 59
  • h: la hora exacta, se maneja el formato de 24 horas, los valores van de 0 a 23, siendo 0 las 12:00 de la medianoche.
  • dom: hace referencia al día del mes, por ejemplo se puede especificar 15 si se quiere ejecutar cada día 15.
  • mon: corresponde al mes del año.
  • dow: significa el día de la semana, puede ser numérico (0 a 7, donde 0 y 7 son domingo) o las 3 primeras letras del día en inglés: mon, tue, wed, thu, fri, sat, sun.
  • command: refiere al comando o a la ruta absoluta del script a ejecutar, ejemplo: /home/usuario/scripts/actualizar.sh, si acaso llama a un script este debe ser ejecutable.

domingo, 2 de noviembre de 2014

Variable PATH en Linux

¿Que es la variable PATH?


Es un tipo de variable ( variables de entorno ) que contiene una cadena de caracteres, la cual representa la ruta de directorios donde se encuentran los comandos utilizados en la terminal de Linux, y estos son separados por dos puntos cada una de las rutas de la otra.


Para poder visualizar los directorios contenidos en esta variable en el terminal se ingresa la siguiente línea de comandos:



En este ejemplo se puede apreciar que los directorios son:
  • /usr/local/sbin:
  • /usr/local/bin
  • /usr/sbin
  • /usr/bin
  • /sbin
  • /bin
  • /usr/games
  • /usr/local/games
Para añadir mas rutas de directorios a esta variable se lo haría de la siguiente manera:


Para comprobar que si se incluyo el nuevo directorio, se debe digitar el comando para mostrar el contenido de la variable PATH : <echo $PATH>

La principal utilidad de esta variable es para poder tener un fácil acceso a programas creados por el usuario que se deseen ejecutar simplemente haciendo la llamada del mismo por su nombre, en cualquier directorio que se encuentren.

El problema que se genera aquí es que cuando cerramos la seción o reiniciamos el computador la variable PATH vuelve a su estado original.
Para cambiar el PATH de forma permamnete debemos editar el archivo environment que esta en la siguiente ruta:

/etc/environment

En mi caso utilizare el editor vim para realizar esto, previamente habiéndome logeado como superusuario.


Una vez abierto al archivo de texto, pegamos al final ,la ruta del directorio, separado por dos puntos, porque es el operador de concatenación de strings.


Para comprobar que si fue satisfactorio, reiniciamos el computador y ejecutamos el comando:
<echo $PATH>

Bibliografía: