martes, 15 de abril de 2014

Eliminar archivos creados en un rango de fechas

En esta entrada crearemos un script para poder eliminar archivos  que fueron creados  en un cierto rango de  fechas.

P. ejemplo.

supongamos que tenemos varios archivos los cuales fueron creados a partir del 2008 hasta el 2014 pero necesitamos liberar espacio y dejar los del 2008 y 2014 solamente para esto emplearemos  la función "find"  que sera la que nos localice los archivos a eliminar.

crearemos un shell script de nombre "rmArchivos.sh" el cual contendrá el siguiente código

              #!/bin/bash
              echo "Encontrando los archivos";
              touch --date "2009-01-01 00:00:00" /tmp/inicio
              touch --date "2013-12-31 00:00:00" /tmp/fin
              find /home/conny/Documentos/CMONTANEZ/ShellScript -type f -newer /tmp/inicio -not -newer /tmp/fin -exec rm -f {} \;
             echo "Archivos Eliminados";





le damos los permisos con chmod +x rmArchivos.sh
ejecutamos ./rmArchivos.sh

                                    echo
solo nos muestra en pantalla lo que le coloquemos

                          touch --date "2009-01-01 00:00:00" /tmp/inicio
creara un archivo de nobre inicio en la carpeta tmp con fecha  de creacion 01/01/2009  a las 00:00:00 hrs.


                           touch --date "2013-12-31 00:00:00" /tmp/fin
creara un archivo de nombre fin en la carpeta tmp con fecha  de creación 31/12/2013  a las 00:00:00 hrs.


             find  /home/conny/Documentos/CMONTANEZ/ShellScript  -type  f  -                 newer /tmp/inicio -not -newer /tmp/fin -exec rm -f {} \;

find = buscara en la ruta "/home/conny/Documentos/CMONTANEZ/ShellScript"
con base a las fechas de creación de inicio  y  fin  los cuales seran los parametros  de busqueda
                                       /tmp/inicio         /tmp/fin
rm nos sirve para eliminar los resultados. 

nota: recuerda cambiar  la ruta para que los busque en la carpeta que tu necesitas.


Aquí abajo les dejo las pantallas de el ejercicio completo junto con el de la entrada anterior.


ver que archivos tiene el directorio  con ls  -l


 ejecutamos el script para que  nos cree archivos de prueba (tutorial anterior)

compobamos que se hallan creado los archivos.   ls -l

ejecutamos el script de eliminar creado en este tutorial

verificamos que se hallan eliminado los archivos  y solo queden los que no esten en el rango de  fechas.    ls -l
vemos  que solo nos queda  el archivo del 2008 y del 2014


 les dejo la imagen con los códigos.


Saludos.

lunes, 14 de abril de 2014

Generar archivos con fecha de creación distinta a la actual

El día de  hoy les enseñare como generar archivos .txt (o cualquier exención) desde un shell  con diferentes fechas de creación distintas a la actual

comenzaremos por crear un shell como el de la entrada anterior  solo que en este colocaremos  el siguiente  código,en mi caso nombre el archivo como      CreaArchPrueba.sh


#!/bin/bash
echo "creacion de archivos  de  pueba ";
cd /home/conny/Documentos/CMONTANEZ/ShellScript
touch -t 200801011212.25 prueba_2008.txt
touch -t 200902021215.30 prueba_2009.txt
touch -t 201003031420.35 prueba_2010.txt
touch -t 201104041525.40 prueba_2011.txt
touch -t 201205051630.05 prueba_2012.txt
touch -t 201306061120.10 prueba_2013.txt
touch -t 201401011015.05 prueba_2014.txt
echo "Archivos creados";



                                 "echo"                            
solo nos mostraran salidas a la pantalla


                               cd /home/conny/          
indica  en que ruta seran creados  los archivos


                 touch -t 200801011212.25 prueba_2008.txt   
nos indica que se creara un archivo  del 2008 de el primer mes del día primero con hora 12:12:25 y se llamara prueba_2008.txt    





situados  en la ruta donde guardamos el archivo le damos los permisos de ejecución

                                         chmod +x CreaArchPrueba.sh

y lo ejecutamos

                                        ./CreaArchPrueba.sh


Nota:  es  importante dar permisos y ejecutar  dentro del directorio donde  esta el shellscript



comprobamos  que se hallan creado los archivos  con el comando

                                                           ls -l
esta opción nos permite ver todo lo contenido en esa carpeta asi como los permisos de cada uno y la fecha de creación



y ya tenemos creados nuestros archivos los cuales nos indican que se crearon a partir del 2008 , ninguno contiene aun nada  ya que  solo fueron creados.

Saludos.

viernes, 11 de abril de 2014

Creacion de un Shell Script

Shell Script  

es un conjunto de lineas  de comando en  shell escritas en un mismo archivo para poder comunicarse  con el núcleo y así  poder ejecutar  tareas en especifico leyendo linea  por linea.
Se escriben en un fichero de texto marcado como ejecutable, sin ser estrictamente shell un lenguaje de programación a este proceso se le denomina shell programming o shell scripting

 primer Shell Script


yo creare mi shell script en una carpeta que contenga varias imágenes ya que  el objetivo es listar todos los archivos  que contenga la carpeta


Abrimos  una terminal  


 


por medio  del comando "pwd"  nos indica  en que directorio estamos  situados ya que en este es  donde  se creara nuestro shell scrip




colocamos   "vi  PrimerShell.sh"  con esto crearemos el archivo en donde colocaremos  las  instrucciones usando el editor vi y presionamos enter



ya dentro del editor presionamos  la tecla i para poder cambiar  a modo edición



y colocamos  lo siguiente

#!/bin/bash
echo "bienvenido al primer bash shell";
ls
echo "ha terminado el listado de directorios";

la primera linea se conoce como Shebang



Presionamos  la tecla  Esc  para pasar a modo comando y  a continuación  escribimos  :wq!   para salir del editor y guardar cambios



si nos  vamos a la carpeta donde lo generamos nos aparecera el archivo


en la misma terminal tecleamos  "  chmod +x   PrimerShell.sh  "  para dar permisos  de ejecucion



y después  ./PrimerShell.sh  

así veremos en ejecución el shell script creado 



espero les  sea de ayuda dejen sus comentarios  o sugerencias.
Saludos.

 :)