S'abonner au site
Catégories
Pages

Un script pour effacer les vieux enregistrements Netatmo de votre NAS

Publié le lundi 20 avril 2020 dans les catégories G33K et Home Sweet Home

Dans cet article, je vous explique pas à pas comment configurer un script sur votre NAS Synology afin d'effacer des fichiers qui ont un certain âge. Très pratique pour faire le ménage dans les sauvegardes de vos caméras de surveillance FTP.

Cette technique et les éléments présentés dans l'article ci-dessous m'ont été soufflés par Julien. Un gros merci à lui.

Pourquoi créer des scripts de nettoyage ?

Peut-être avez-vous suivi mon tutoriel pour sauvegarder les vidéos de vos caméras Netatmo sur votre NAS Synology. Si c'est le cas, félicitations, je vous aime bien ! Le seul inconvénient de cette méthode, c'est qu'au bout d'un certain temps, vos vidéos vont prendre une place non négligeable sur le serveur.

Vous aurez donc deux possibilités :

  • faire le ménage manuellement par le biais d'un rappel "hey, fais le ménage dans les dossiers Security du NAS.
  • rappeler au NAS de faire le ménage pour vous.

C'est cette deuxième méthode que nous choisissons ici, puisque notre temps est précieux. Pour cela, il faudra d'abord rédiger un script très simple dont le rôle sera de supprimer les dossiers et fichiers plus vieux que X jours. Ensuite, créer une tâche planifiée qui exécutera ce script de manière périodique.

Cet article étant la suite du tutoriel lié plus haut, je vous encourage à en prendre connaissance si ce n'est pas déjà fait.

Comment écrire un script de nettoyage ?

Les caméras Netatmo classent les fichiers dans une arborescence très simple, au format "dossier/YYYY/MM/DD/fichier/".

Mon premier script supprime les dossiers qui sont plus vieux que 10 mois :

rm -fr /volume3/Security/NetatmoSecrete1/`date -d "10 month ago" +%Y`/`date -d "10 month ago" +%m`/
rm -fr /volume3/Security/NetatmoSecrete2/`date -d "10 month ago" +%Y`/`date -d "10 month ago" +%m`/
rm -fr /volume3/Security/NetatmoSalon/`date -d "10 month ago" +%Y`/`date -d "10 month ago" +%m`/

Mon deuxième script vient supprimer les dossiers "années" plus anciens que l'année en cours (la date d'exécution de ce script sera très importante) :

rm -fr /volume3/Security/NetatmoSecrete1/`date -d "1 year ago" +%Y`/
rm -fr /volume3/Security/NetatmoSecrete2/`date -d "1 year ago" +%Y`/
rm -fr /volume3/Security/NetatmoSalon/`date -d "1 year ago" +%Y`/

Il vous suffit de copier ces lignes, de les coller dans un fichier texte en les adaptant à votre installation, puis d'enregistrer le tout au format .sh à la racine de votre dossier de sauvegarde, par exemple.

Planifier une tâche d'exécution

La deuxième étape consiste à créer une tâche planifiée qui va exécuter périodiquement vos scripts. Le premier script pour être exécuté chaque début de mois (puisqu'il supprime les dossiers "mois" plus vieux que 10 mois) alors que le deuxième script ne devra être exécuté qu'en fin d'année : dans la mesure où il efface l'année précédente, vous ne pouvez pas l'exécuter en février, sinon vous perdriez votre historique.

Pour commencer, connectez vous à l'interface de votre NAS Synology, et allez dans Control Panel puis Task Scheduler. Sélectionnez Create > Scheduled Task > User-defined script afin de planifier la tâche sur l'exécution du script que nous venons de sauvegarder.

Donnez un nom à votre tâche et choisissez qui sera l'utilisateur qui va l'exécuter. Pour des raisons de sécurité évidentes, j'ai un utilisateur Netatmo qui effectue les sauvegardes. Ce sera donc ce même utilisateur qui les supprimera.

Choisissez ensuite quand vous désirez exécuter cette tâche. Je la configure le 1er de chaque mois, à 1h du matin.

L'écran suivant me permet de configurer une notification par e-mail, et j'aime bien que mon serveur me rappelle qu'il vient de me faire gagner du temps. J'active !

En dessous, saisissez la commande à exécuter. Dans mon cas : bash /volume3/Security/clean_security.sh

Dans ce genre de situation, un petit test ne fait jamais de mal. Le mail étant reçu, on peut donc passer à l'étape d'après : le script annuel.

Il s'agit de la même configuration que pour le script mensuel, sauf qu'on ne l'exécutera qu'une fois par an (en décembre dans mon cas) pour les raisons indiquées plus haut.

C'est aussi "simple" que ça. Je mets des guillemets car il est très facile de recopier des commandes, et il est aussi très simple de se tromper et de faire des bêtises. D'où le fait d'utiliser un utilisateur Netatmo qui n'a le droit de toucher qu'aux dossiers Netatmo, par exemple.

J'espère que cet article vous fera gagner du temps, comme le fait de vous abonner aux nouveaux articles par mail, ci-dessous (un mail par jour maximum, uniquement s'il y a un nouvel article).

Je vous fais des bisous 😘

Article écrit par LoKan Sardari 🧠 Ultralearner | 🏋️‍♂️ Athlete | 👨‍💻 Entrepreneur | 🌱 Plant lover | ✈️ Travel addict

Commentaires

Les commentaires doivent rester un lieu d’échange courtois et agréable.

Vous êtes donc invité à respecter le travail effectué sur ce site, les personnes à qui vous répondez, ainsi que la langue française.

Tout commentaire ne respectant pas ces conditions, ou étant profondément hors sujet, sera écarté du débat.