Il find
comando eliminerà qualsiasi file normale all'interno o al di sotto della /home/_backups/pokebrawl
directory che risale a più di sette giorni (o più precisamente, non modificato nell'ultima settimana).
Dovrebbe probabilmente leggere
find "$DESDIR" -mtime +6 -type f -delete
o
find "${DESDIR:?Not set correctly}" -mtime +6 -type f -delete
poiché esiste già una variabile perfettamente valida con quel nome di directory. La seconda variazione provocherebbe un errore se DESDIR
per qualche motivo fosse vuota o non impostata.
Suppongo che questo sia un modo per conservare solo i backup della scorsa settimana. Suggerirei di utilizzare qualcosa di simile borgbackup
o restic
invece, poiché questi sarebbero in grado di mantenere i backup per molto più tempo senza utilizzare molto più spazio (anche i backup orari per un anno non occuperebbero molto spazio se i dati non cambiassero molto) . Eseguono la deduplicazione dei dati e borgbackup
supporta inoltre la compressione (entrambi supportano anche backup remoti e crittografia).
Per eseguire lo script ogni 24 ore (a mezzanotte), utilizzare un processo cron.
Innanzitutto, emettere il comando crontab -e
. Questo aprirebbe un editor con l'attuale crontab per l'utente attivo (questo può essere o meno un file vuoto).
Quindi aggiungere
@daily /path/to/the/script.sh
(dove si path/to/the/script.sh
trova il percorso dello script).
Salva ed esci dall'editor.
La sceneggiatura verrebbe ora chiamata a mezzanotte, anche di notte.
Vorresti eseguire lo script alle 13:30 ogni pomeriggio, invece aggiungi quanto segue come voce crontab:
30 13 * * * /path/to/the/script.sh
Consultare il manuale crontab sul proprio sistema per i dettagli su come scrivere una pianificazione crontab ( man 5 crontab
).