La find
commande supprimera tout fichier normal dans ou en dessous du /home/_backups/pokebrawl
ré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, DESDIR
pour 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 borgbackup
ou à la restic
place, 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 borgbackup
prennent é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.sh
est 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
).