script que borre ciertos ficheros

Imagen de Franki15
0 puntos

Me gustaría crear un script para borrar archivos de más, por ejemplo, 7 días.
Como podría hacerlo? Ahora tengo este script para un backup

#! /bin/bash
clear
dia=`date | cut -d " " -f 1`
dian=`date | cut -d " " -f 4`
mes=`date | cut -d " " -f 2`
echo "Realizando backup de $dia-$dian/$mes"
mkdir /media/sdb1/backup/$dia$dian-$mes
cp -r /home/ortega/ /media/sdb1/backup/$dia$dian-$mes
echo .

Antes de finalizar, quisiera que buscará en /media/sdb1/backup, backups antiguos y los elimine, como se haría?
Si tengo varias carpetas, por ejemplo, lun1-ago, mar2-ago, ... dom7-ago
Que elimine el del lunes 1, 7 días de diferencia.

Gracias

Imagen de slap
+1
0
-1

Hola.
Puedes usar find.
Por ejemplo:

find /media/sdb1/backup -type d -mtime +7 -print0 | xargs -0 rm -rf

Este comando te buscaría dentro del directorio /media/sdb1/backup los directorios con fecha de modificación igual o superior a 7 días y los borraría completos.

Mira la página de manual de find para más información.

man find

Ten cuidado con el comando porque borra sin confirmación.
Puedes ver lo que se va a borrar con la orden:

find /media/sdb1/backup -type d -mtime +7 -print0 | xargs -0 echo

Así podrás ver los directorios seleccionados.

Saludos.


0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK
+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es