El findcomando eliminará cualquier archivo normal en o debajo del /home/_backups/pokebrawldirectorio que tenga más de siete días de antigüedad (o más precisamente, que no haya sido modificado en la última semana).
Probablemente debería leer
find "$DESDIR" -mtime +6 -type f -delete
o
find "${DESDIR:?Not set correctly}" -mtime +6 -type f -delete
ya que hay una variable perfectamente buena que ya contiene ese nombre de directorio. La segunda variación causaría un error si DESDIRpor alguna razón estuviera vacía o sin configurar.
Supongo que esta es una forma de mantener solo las copias de seguridad de la semana pasada. Sugeriría usar algo como borgbackupo en su resticlugar, ya que estos serían capaces de mantener las copias de seguridad durante mucho más tiempo sin usar mucho más espacio (incluso las copias de seguridad por hora durante un año no ocuparían mucho espacio si los datos no cambiaran mucho) . Realizan la deduplicación de datos y, borgbackupademás, admiten la compresión (ambos admiten copias de seguridad remotas y cifrado también).
Para ejecutar el script cada 24 horas (a medianoche), use un trabajo cron.
Primero, emita el comando crontab -e. Esto abriría un editor con el crontab actual para el usuario activo (esto puede o no ser un archivo vacío).
Luego añade
@daily /path/to/the/script.sh
(donde path/to/the/script.shestá el nombre de ruta del script).
Guarde y salga del editor.
El guión ahora se llamaría a medianoche, incluso a la noche.
¿Desea ejecutar el script a las 13:30 cada tarde, por ejemplo, agregue lo siguiente como la entrada crontab en su lugar:
30 13 * * * /path/to/the/script.sh
Consulte el manual de crontab en su sistema para obtener detalles sobre cómo escribir un cronograma crontab ( man 5 crontab).