Calcular si una carpeta(s) tiene mas de 30 dias de creada

Aqui dejo este scrip en shell, lo que hace es ver si la carpeta(s) de una ruta determinada tiene un mes de creacion o no con respecto a la fecha actual y si es asi procede a borrarla para que no ocupe espacio en el server.

Considero que no es una vercion final ya que pienso que hay muchos detalles que afinar y recortar (bueno no soy programador de formacion 😀 ) asi que son bienvenidas las aportaciones, espero que sea de utilidad.

##############################################

#!/bin/bash
# Escrito por Juan Oliva <jroliva at gmail dot com>

#mes acual
MA=$(date +%m)
#dia actual
DA=$(date +%d)

#Variables para pasar el mes recibido
mes1=Jan
mes2=Feb
mes3=Mar
mes4=Apr
mes5=May
mes6=Jun
mes7=Jul
mes8=Ago
mes9=Sep
mes10=Oct
mes11=Nov
mes12=Dec

#path de la carpeta
carpeta=/home/minimark/public_html/entregas/ #realizar el recorido
for dir in `ls -R $carpeta`
do

#capturo el dia de creacion
DC=`ls -l $carpeta | grep $dir | cut -d ‘ ‘ -f8`
#capturo el mes de creacion
MC=`ls -l $carpeta | grep $dir | cut -d ‘ ‘ -f7`

if [[ $MC == $mes1 ]]
then
#variables para sumarle un mes al actual
MD=02
#Llamo a la funcion paso la variable
calculo $MD
fiif [[ $MC == $mes2 ]]
then
MD=03
calculo $MD
fi
if [[ $MC == $mes3 ]]
then
MD=04
calculo $MD
fi
if [[ $MC == $mes4 ]]
then
MD=05
calculo $MD
fi
if [[ $MC == $mes5 ]]
then
MD=06
calculo $MD
fi
if [[ $MC == $mes6 ]]
then
MD=07
calculo $MD
fi
if [[ $MC == $mes7 ]]
then
MD=08
calculo $MD
fi
if [[ $MC == $mes8 ]]
then
MD=09
calculo $MD
fi
if [[ $MC == $mes9 ]]
then
MD=10
calculo $MD
fi
if [[ $MC == $mes10 ]]
then
MD=11
calculo $MD
fi
if [[ $MC == $mes11 ]]
then
MD=12
calculo $MD
fi
if [[ $MC == $mes12 ]]
then
MD=01
calculo $MD
fi

#Funcion que calcula si la carpeta tiene un mes de creada
function calculo()
{
if [[ $MD == $MA ]]
then
#echo “la carpeta $dir se creo el mes $MC y el mes actual es $MA se evaluara los dias ”
if [[ $DC == $DA ]]
then
#echo “la carpeta $dir fue creada el $MC / $DC y la fecha de hoy $MA / $DA y ya tiene un mes de creacion extactamente y se borrara ahora ”
rm -r $carpeta/$dir
else
#echo “la carpeta $dir fue creada el $MC / $DC y la fecha de hoy $MA / $DA y se borrara recien en $MD / $DC ”
fi
else
#echo “La carpeta $dir nose borrar por que se creo $MC / $DC y se borrara en un mes : / $MD / $DC ”
fi
}

done
###############################################

Anuncios
Esta entrada fue publicada en Linux, Manuales y tutoriales, Programacion por jroliva. Guarda el enlace permanente.

Acerca de jroliva

Juan Oliva, es un consultor de seguridad informática y telefonía IP con 10 años de experiencia en el campo . Muy involucrado en proyectos de pruebas de penetración , análisis y explotación vulnerabilidades, pruebas de ingeniería social, seguridad física, revisión de código, entre otras tareas de seguridad informática. Así mismo, desarrolla proyectos de implementación y mantenimiento de VoIP, basadas en Asterisk y Elastix, proyectos de callcenter, soluciones en la nube y hosted PBX, Aseguramiento de plataformas Linux, Windows. Ha estado trabajando para una variedad de empresas en donde ha desarrollado proyectos para el estado peruano, así como para entidades privadas, nacionales y del extranjero, cuenta con certificaciones vigentes en Ethical hacking, Linux y telefonía IP. Es instructor de cursos de Ethical Hacking y certificaciónes como Linux Professional Institute y Elastix, donde ha tenido oportunidad de realizar capacitaciones en el Perú, así como en el extranjero. Es investigador de vulnerabilidades, y creador de contenidos, que son publicados en su blog personal jroliva.wordpress.com el cual mantiene desde hace mas de 6 años.

Un pensamiento en “Calcular si una carpeta(s) tiene mas de 30 dias de creada

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s