jueves, 13 de noviembre de 2014

COPIA DE LOS ARCHIVOS DE CONFIGURACIÓN DE MI SISTEMA OPERATIVO CON CRONTAB



COPIA DE LOS ARCHIVOS DE CONFIGURACIÓN DE MI SISTEMA OPERATIVO 



EJERCICIO :

CREAR UN RESPALDO (COPIA) DE TODOS LOS ARCHIVOS DE  CONFIGURACIÓN DE MI SISTEMAS OPERATIVO  CUYO NOMBRE SEA etc.backup ,  CUYO  RESPALDO SE ENCUENTRE EN LA DIRECCIÓN HOME DEL USUARIO . Y QUE HAGA LO MISMO TODOS LOS DÍAS LUNES A LAS 7:00.



BREVE EXPLICACIÓN SOBRE LOS COMANDOS A EMPLEAR 

CP: este comando nos permite copiar directorios y archivos .Estos archivos o directorios pueden ser copiados en el mismo directorio o  un directorio diferente.

             cp - R :  nos va a permitir copiar directorios recursivamente, es decir ,que puedo                                 copiar varios archivos .

SUDO: (superuser DO) me permite ejecutar diferentes programas de forma segura con los privilegios de seguridad del root.

CRONTAB: nos permite añadir , modificar o eliminar los cron configurados para un usuario. Crontab  es un  archivo de texto que  ejecuta periódicamente diferentes tareas ,  según  una lista de comando a ejecutar en un tiempo especificado definido por el usuario. 

OPCIONES DE CRONTAB :
    • crontab -l :lista todas las tareas de crontab del usuario 
    • crontab -r :elimina el crontab actual del usuario
    • crontab -e :se utiliza para editar el crontab actual .Edita el archivo contrab del usuario, donde cada linea de comando será una tarea de crontab.

VERIFICACIÓN DE QUE NUESTRO ARCHIVO CRONTAB EXISTE 

 Cuando el crontab creado o modificado se realizó correctamente y si no hay errores, se  instalará automáticamente. El archivo se almacenará en / var / spool / cron / crontabs.
por lo que utilizaremos la siguiente linea de código:

ls -l /var/spool/cron/crontabs

AGREGAR TAREAS A CONTRAB

Si Ejecutamos la edición del crontab con crontab -e, podemos elegir el editor de textos que deseemos. Crontab pone a nuestra disposición 6 campos :

m  h  dom  mon  dow  user  command 

donde :

  • m corresponde al minuto en que se va a ejecutar el script, pudiedno tomar un  valor de  0 a 59.
  • h corresponde a la hora exacta, cuyo formato es de 24 horas, los valores van de 0 a 23, siendo 0 la medianoche.
  • dom hace referencia al día del mes , cuyos valores pueden ser del 1 al 31.
  • dow correspondiente al día de la semana, puede ser de forma numérica (0 a 7, donde 0 y 7 son domingo , 1 lunes , 2 martes ,etc) o las 3 primeras letras del día en inglés: mon, tue, wed, thu, fri, sat, sun.
  • user define el usuario que va a ejecutar el comando, puede ser root, u otro usuario diferente pero teniendo en cuenta que tenga permisos de ejecución del script.
  • 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
SÍMBOLOS QUE PODEMOS UTILIZAR EN EL EDITOR DE TEXTO DE CRONTAB


 * : (asterisco) se utilizarse de forma  que empleáramos  todos los casos, es decir indicará inicio-fin del campo, es decir todo (cada hora, cada día de la semana, cada mes, etc.) de un período de tiempo

,: (coma) cualquier valor separados por comas se pueden utilizar para ejecutar más de una instancia de un comando en particular dentro de un período de tiempo. O también podemos definir  que podemos indicar un tiempo establecido.Ej: 
los primeros 4 días de las semana 1,2,3,4

- :(guión) el guión entre diferentes valores nos indica  un intervalos  de tiempo ( minutos, horas, días ,etc), Ej :los primeros 10 días de las semana 1-10.

DESARROLLO DEL EJERCICIO 

1.-  CREAMOS UN SCRIPT  CUYO NOMBRE SERÁ script2
vim script2.sh

2.- INSERTAMOS EL CÓDIGO PARA COPIAR TODOS LOS ARCHIVOS DE  CONFIGURACIÓN DE MI SISTEMAS OPERATIVO  A etc.backup CUYO  RESPALDO SE ENCUENTRE EN LA DIRECCIÓN HOME DEL USUARIO 

cp -R /etc/ /home/oscar/etc.backup


3.- GUARDO MI SCRIPT
TECLEANDO ESC Y LUEGO ESCRIBIENDO :wq
VERIFICAMOS SI NUESTRO SCRIPT SE CREÓ  CORRECTAMENTE ESCRIBIENDO EL SIGUIENTE COMANDO :

sudo sh scirpt2.sh



4.- VERIFICAMOS SI NUESTRO SCRIPT  SE COPIÓ CORRECTAMENTE. 




5.- LE ASIGNAMOS PERMISO DE EJECUCIÓN CON 
sudo chmod +x script2.sh


6.- ESCRIBIMOS ls -l Y COMPROBAMOS QUE NUESTRO ARCHIVO CAMBIO DE PRIVILEGIO 



7.- ESCRIBIMOS EL COMANDO crontab -e LUEGO DAMOS ENTER
Y NOS SALDRÁ LOS SIGUIENTE :



8.- ESCRIBIMOS LO SIGUIENTE :
00 7 * * sudo script2.sh





9.- PARA GUARDAR Y SALIR TECLEAMOS  - CTRL+X Y LUEGO - S Y - ENTER PARA GUARDAR EL NOMBRE PREESTABLECIDO .
VERIFICAMOS QUE NUESTRO CRONTAB SE HA INSTALADO .


10.- VERIFICAMOS QUE EL ARCHIVO CRONTAB  SI EXISTE ESCRIBIENDO LO SIGUIENTE:
ls -l /var/spool/cron/crontabs



BIBLIOGRAFÍA :


  • http://rm-rf.es/crontab-modo-de-uso-ejemplos/
  • http://www.linuxtotal.com.mx/?cont=info_admon_006
  • https://help.ubuntu.com/community/CronHowto


domingo, 2 de noviembre de 2014

CONFIGURAR EL ENTORNO DE PATH DE FORMA PERMANENTE

¿CÓMO CONFIGURAR EL ENTORNO DE PATH DE FORMA PERMANENTE ?


 ¿QUÉ ES PATH?

La variable de ruta (PATH) es una de estas variables de entorno, y constantemente se utiliza sin que el usuario lo note. Esta variable almacena una lista de directorios en donde las aplicaciones (la mayoría de las veces, tu Shell) deberían buscar un programa cada vez que lo ejecutas en forma de comando
Si deseamos  añadir  un directorio  por ejemplo  “new_direction”  a la variable PATH, en el Shell debemos escribir: 

export PATH=$PATH:/home/user/ new_direction

Pero al apagar el computador o  desconectarse , PATH retomará su valor por defecto, entonces:
/home/user/new_direction no existirá más en PATH.


PARA MODIFICAR EL PATH DE FORMA PERMANENTE


Si deseamos configurar PATH de forma permanente se debe editar el archivo de configuración de su Shell escribiendo  /home/user/.bashrc
En el caso de utilizas el: Shell BASH.

Para ello utilizaremos un comando para facilitarse la tarea. 

Dicho
comando sería: 

echo 'export PATH=$PATH:/home/user/new_direction' >> /home/user/.bashrc

Así a cada conexión su PATH contendrá su directorio:
/home/user/new_direction

Los directorios que aparecen asignados a la variable PATH se sumarán a los directorios  que asigna el sistema a todos los usuarios.