La findcommande supprimera tout fichier normal dans ou en dessous du /home/_backups/pokebrawlrépertoire datant de plus de sept jours (ou plus précisément, non modifié au cours de la dernière semaine).
Il faut probablement lire
find "$DESDIR" -mtime +6 -type f -delete
ou
find "${DESDIR:?Not set correctly}" -mtime +6 -type f -delete
car il existe une variable parfaitement bonne contenant déjà ce nom de répertoire. La deuxième variation entraînerait une erreur si, DESDIRpour une raison quelconque, était vide ou non défini.
Je suppose que c'est un moyen de conserver uniquement la valeur de la semaine dernière de sauvegardes. Je suggérerais d'utiliser quelque chose comme borgbackupou à la resticplace, car ceux-ci pourraient garder les sauvegardes beaucoup plus longtemps sans utiliser beaucoup plus d'espace (même les sauvegardes horaires pendant un an ne prendraient pas beaucoup d'espace si les données ne changeaient pas beaucoup) . Ils font la déduplication des données et borgbackupprennent également en charge la compression (les deux prennent également en charge les sauvegardes à distance et le chiffrement).
Pour exécuter le script toutes les 24 heures (à minuit), utilisez une tâche cron.
Commencez par exécuter la commande crontab -e. Cela ouvrirait un éditeur avec la crontab actuelle pour l'utilisateur actif (cela peut ou non être un fichier vide).
Puis ajouter
@daily /path/to/the/script.sh
(où path/to/the/script.shest le chemin d'accès du script).
Enregistrez et quittez l'éditeur.
Le script serait désormais appelé à minuit, même la nuit.
Souhaitez-vous exécuter le script à, disons, 13h30 tous les après-midi, ajoutez ce qui suit comme entrée crontab à la place:
30 13 * * * /path/to/the/script.sh
Consultez le manuel de crontab sur votre système pour plus de détails sur la façon d'écrire un programme crontab ( man 5 crontab).