El find
comando eliminará cualquier archivo normal en o debajo del /home/_backups/pokebrawl
directorio 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 DESDIR
por 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 borgbackup
o en su restic
lugar, 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, borgbackup
ademá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.sh
está 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
).