Jump to content
  • 0
Sign in to follow this  
milord65

effacer périodiquement des fichiers

Question

Bonjour,

J'enregistre sur mon NAS QNAP TS-419P+   des vidéos issues de caméras de vidéosurveillance Novodio. J'ai créé un disque virtuel de 25 Go pour cela et je voudrai que les vidéos les plus anciennes soient supprimées au profit de l'enregistrement des vidéos les plus récentes de manière à ce que le disque ne soit pas plein, ce qui occasionne alors  "l'enregistrement" de vidéos de 0 Ko ce qui n'est pas le but recherché.

Je ne sais pas comment faire. Quelqu'un a-t'il une idée ?

Merci d'avance,

JP

 

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Bonjour,

Un script exécuté par cron.... Je vois bien cela. J'utilise déjà crontab pour nettoyer le NAS des déchets des OS clients, pour télécharger quotidiennement pour mon serveur Reposado les mises à jour Apple.... Ca sert bien et ça ne demande pas beaucoup de ressources.

Voilà l'exemple de ce script ajouté hier à crontab:

#! /bin/bash
exec > "Path_To_My_Script"/NasClean.log 2>&1
set -x
echo "==================================================="
echo "Nouveau nettoyage"
date
echo "Nettoyage des fichiers Mac"
echo "Nettoyage des fichiers Mac Nettoyage des fichiers de métadonnées"
find /share/ -name "._.*" -delete
find /share/ -name "._*" -delete
find /share/ -name ".DS_Store" -delete

date

echo "Nettoyage des fichiers Windows"

echo "Suppression des fichiers de presentation de Windows"
find /share/ -name "desktop.ini" -delete
find /share/ -name "Desktop.ini" -delete

echo "Suppression des fichiers temporaires"
find /share/ -name "*.tmp" -delete
find /share/ -name "~*" -delete

echo "Suppression des fichiers de sauvegarde bak"
find /share/ -name "*.bak" -delete

find /share/ -name "*.bak" -delete
echo "suppression des fichiers apercus des fichiers multimedias"
find /share/ -name "thumbs.db" -delete
find /share/ -name "Thumbs.db" -delete

date
echo "==================================================="

Le "Path_To_My_Script" doit être remplacé par chemin vers un dossier dans un dossier partagé.

Ce n'est pas le script complet de nettoyage, c'est le script quotidien pour les partages SMB/AFP. Il mérite d'être grossi par un tas d'autres fichiers mais prenez cela pour un exemple qui pourrait sans doute être apprécié par plus d'un.

Si il fonctionne bien, je le grossirais peut-être.

Cordialement.

FredP

PS: Quand on utilise des clouds comme OwnCloud ou d'autres, on voit bien ces fichiers qui viennent s'agglutiner et faire perdre du temps à chercher à ouvrir le bon.

Share this post


Link to post
Share on other sites
  • 0

Merci beaucoup pour votre réponse rapide mais cependant j'ai du mal à comprendre comment faire en pratique, c'est à dire comment ajouter un script (et lequel)   à crontab.

Existe-t'il  une application QPKG qui fasse ça, ça serait une bonne chose ? 

Cordialement

JPB

Share this post


Link to post
Share on other sites
  • 0

Bonjour matinal.

Le lien cité contient les informations que j'ai cité: usage de cron, commande find.... Dans la page citée, vous utilisez Entware avec les exécutables d'Entware alors que j'utilise la Busybox du NAS mais le principe est le même.

Je vous incite d'ailleurs à installer le QPKG d'Entware qui est toujours à priori utile pour ça et d'autres choses. Disponible sur le store de ce forum ou sur sur forum Anglais.

Sur le principe, il faut utiliser un éditeur de texte soit directement dans le NAS soit sur votre ordinateur pour créer le script et rajouter ce script dans le fichier crontab. Inutile d'un QPKG

Ces quelques lignes citées votre page web suivant ce que j'ai mis en entête de script peuvent sans doute faire l'affaire:

"

#! /bin/bash
exec > "Path_To_My_Script"/NasCleanRecordings.log 2>&1
set -x
echo "==================================================="

date

/opt/bin/find “/Path to Camera Recordings/” -mtime +60 -exec rm {} \;

date

echo "==================================================="

"

Ce petit script ne demande qu'à être cité dans crontab et vous pourrez rajouter/modifier les commandes nécessaires sans aller chercher le fichier crontab et vous pourrez ainsi les mettre dans l'ordre que vous désirez. 

Remplacer "Path_To_My_Script" par le chemin dans lequel vous allez stocker votre script  et “/Path to Camera Recordings/” par "/le chemin vers vos enregistrements/" et changer les délais d'âge de vos fichiers avec mime dont voici l'usage:

"Pour les options -size, -atime, -mtime, -ctime et -links, il faut spécifier une valeur, précédée par le signe ``+'' pour ``supérieur à'', ``-'' pour ``inférieur à'', ou rien pour ``égal à''. Par exemple :

find . -mtime -3 -print

affiche les fichiers dont les dernières modifications remontent à moins de 3 jours (donc tous les fichiers modifiés entre aujourd'hui et il y a trois jours seront affichés). De même, +5 afficherait les fichiers dont les dernières modifications remontent à plus de 5 jours."

Vous trouverez quelques usage de la commande find que je viens de  citer ici: http://www.linux-france.org/article/memo/node126.html

Pour l'usage de crontab, il faut ouvrir un fichier nommé crontab dans /mnt/HDA_ROOT/.config sur mon vieux TS-459Pro mais je suppose que ça n'a pas dû changer depuis sur les nouveaux OS.

Vous verrez déjà rapidement l'usage de crontab et il y a déjà des scripts ou des exécutables ajoutés.

Avantage d'un script: vous pouvez facilement le sauvegarder, le lancer même manuellement: c'est un fichier texte.... Si vous deviez réinitialiser le NAS, rien n'empêchera de le sauvegarder comme un autre fichier.

Bon début de journée.

Cordialement.

FredP

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×