Services

Supprimer automatiquement des anciens fichiers

Dernière mise à jour : 15/03/2023 à 15h51
Aujourd'hui, un petit tuto rapide pour nettoyer automatiquement des fichiers anciens.

Le contexte de ce tuto est le suivant : j'ai chez moi des caméras de surveillance qui n'enregistraient que lors de déclenchements d'alarmes. Je me suis dit qu'il serait préférable d'enregistrer les vidéos en continu. Bien entendu, cela pose rapidement un problème de place sur mes disques durs puisque mes caméra produisent environ 400 Go de vidéo par semaine...

La méthode est assez simple :

  1. Première étape : créer un script pour supprimer ces anciennes vidéos, je suis parti sur une période de 10 jours (les vidéos de plus de 10 jours seront supprimées par le script). Pour cela on crée un script bash avec son éditeur préféré sur le PC ou le serveur où sont stockées les fichiers en question, voici le code dans le mien :

    Code BASH :
     
    #! /bin/bash
    DUREE_RETENTION_EN_JOURS=10
    CHEMIN_DOSSIER_VIDEOS="/chemin_vers_le_dossier_des_videos/"
    INAME_CONDITION="*.mkv"
    find "$CHEMIN_DOSSIER_VIDEOS" -iname $INAME_CONDITION -ctime +$DUREE_RETENTION_EN_JOURS -delete
     


    Ce script va donc supprimer tous les fichiers .mkv dans le dossier choisi (et ses sous-dossiers) qui ont été modifiés il y a plus de 10 jours.
  2. On n'oublie pas de rendre le script exécutable

    Code BASH :
     
    chmod +x /chemin/mon_script.sh
     
  3. On ajoute l'exécution du script dans le planificateur en ouvrant crontab

    Code BASH :
     
    crontab -e
     


    On ajoute ensuite la ligne qui va bien :

    Code BASH :
    0 5 * * * /bin/bash/ "/chemin/mon_script.sh"


    Mon script s'exécutera donc tous les matins à 5 heures.

Cette page a été vue 109 fois