Inicio > Linux, Manuales y tutoriales, Programacion > Calcular si una carpeta(s) tiene mas de 30 dias de creada

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
###############################################

Anuncio publicitario
  1. marzo 4, 2008 a las 2:08 am

    yo vusco ¿que son carpetas dias? si no saben no digan nada por fabor si locos

  1. No trackbacks yet.

Deja una respuesta

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. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: