Cómo eliminar archivos de más de 5 días de antigüedad en Linux

Ayer fue unos de esos días de investigación para recuperar un VPS que se había quedado sin espacio en disco.

Después de investigar un poco para ver qué ocupaba el espacio del disco, estaba claro que el problema venía de copias de seguridad de los nuevos componentes de Plesk (backup_ext_dist_heavy-metal-skin, backup_ext_dist_dropbox-backup y backup_ext_dist_wp-toolkit) que tenían un tamaño de varios GB cuando deberían de ser de varios megas.

Una solución rápida fue ejecutar:

find /var/lib/psa/dumps/backup_ext_dist* -mtime +5 -exec rm {} \;

y también:

find /usr/local/psa/PMM/tmp/* -mtime +5 -exec rm {} \;

Para eliminar todas las copias de esos archivos con más de 5 días de antigüedad. El segundo comando elimina las copias de seguridad del complemento de DROPBOX que puedan no haberse completado. No me gusta eliminar todos los archivos y siempre tener una copia por si acaso.

De paso hicimos limpieza también en la carpeta temporal, una tema que normalmente tenemos automatizada con un script que se puede encontrar aquí, pero que en este VPS no estaba implementado:

#!/bin/sh
#
# Delete backup more than 90 days old.
#
backupDir="/var/lib/psa/dumps/tmp"
#
daysToKeep=90

echo "Checking for files older than $daysToKeep days in $backupDir"
listOfFiles=`find $backupDir -mtime +$daysToKeep`
if [ ! -z $listOfFiles ]
then
echo "Found [$listOfFiles]"
else
echo "None found."
fi
for toDelete in $listOfFiles
do
echo "Deleting $toDelete"
rm -rf $toDelete
done
echo "Done."

¡Feliz festivo!

Salir de la versión móvil