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

Deja un comentario