This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

 

Si nous utilisons des cookies et retenons des données anonymes, c’est pour nous aider à mieux gérer notre mesure d’audience, aider nos partenaires commerciaux à nous rémunérer et nos partenaires publicitaires à proposer des annonces qui vous correspondent.

 

Grâce à ces cookies, le forum est en mesure de savoir qui écrit un message et utile pour le système d'authentification.

 

En cliquant sur « J'accepte », vous acceptez l'utilisation par NAS-Forum de cookies publicitaires et de mesure d'audience fine.

ddjaff

Script pour supprimer des fichiers de plus de X jours

Messages recommandés

elles le sont ... en voiture ... en baladant un disque dur portable entre deux NAS ...
Quand on n'a qu'un abonnement 3G comme seul moyen de connexion, on limite le volume de data (en tous cas pour le dossier video)

bon, ça marche (finalement ...)

Modifié par StéphanH

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis au bon endroit lol, je vois deux connaisseurs qui sauront me rendre cette fonction opérationnelle et sans erreurs...

je suis donc de retour, j'ai vérifié mon dossier ou sont stockés les videos de ma camera, et effectivement , en regardant de près, les videos de plus de 60 jours ne sont plus la. Ceci avec mon premier script:

find /volume1/video/netatmo welcome -type f -mtime +60 -delete

Sauf que, tous les dossiers qui sont créés lors des enregistrements sont encore la, vides. Les dossiers sont crées automatiquement comme suit: Année , mois, jours, par leurs chiffres. Comment supprimer automatiquement les dossiers vides aussi à chaque fois que la tache est exécutée ?

Dans les paramètres du planificateur de taches j'avais activé "enregistrer les résultats de sortie" . Je constate qu'un dossier synosheduler est crée, dedans un fichier script.log et un output.log sont crées. Dans output.log cependant quelque chose de bizarre: 

find: `/volume1/video/netatmo': No such file or directory
find: `welcome': No such file or directory

gqLA8rT.png

Comment ça se fait ? sachant que le chemin est: /volume1/video/netatmo welcome 

(avec un espace entre)

Est-ce que c'est normal ? comment éviter cette erreur ?

Bref , encore quelques points à éclaircir pour un peu mieux cerner cette prog en script ou je suis totalement novice (je suis juste les "tutos" lus ici et la)

 

Modifié par Stephane Lang

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 44 minutes, Zeus a dit :

Pour supprimer mes dossiers vides qui sont nommés par date de création, voici ma commande :


find /volumeX/etc... -type d -name "*.*.20*_*" -empty -type d -delete

 

est-ce que je pourrais écrire aussi plus simple : sans le premier -type d -name "*.*.20*_*" ? c'est à dire juste la commande -empty -type d -delete , pour supprimer sans distinction tous les dossiers vides ? Voir même y mettre le -mtime +60 pour ne cibler que les dossiers de plus de 60 jours ?

Autrement, une idée pour cette erreur sur ma capture d'écran ? no such file or directory 

Modifié par Stephane Lang

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, Stephane Lang a dit :

est-ce que je pourrais écrire aussi plus simple : sans le premier -type d -name "*.*.20*_*" ? c'est à dire juste la commande -empty -type d -delete , pour supprimer sans distinction tous les dossiers vides ? Voir même y mettre le -mtime +60 pour ne cibler que les dossiers de plus de 60 jours ?

Tu peux aller au plus simple en effet:

find /le/chemin/de/ton/dossier/video -depth -type d -empty -delete

Note: le "-depth" est une astuce qui permet de supprimer les dossiers éventuellement pas vides mais qui ne contiennent que des sous-dossiers vides: supposons un chemin "a/b/c" où a , b et c ne contiennent rien d'autre que ces mêmes dossiers, sans le "-depth", seul "c" serait supprimé, alors qu'avec "a" et "a/b" sont également supprimés.

Il y a 1 heure, Stephane Lang a dit :

Autrement, une idée pour cette erreur sur ma capture d'écran ? no such file or directory 

Tu as écrit que "le chemin est: /volume1/video/netatmo welcome"

Si il n'y pas d'erreur ici (c'est à dire qu'il y bien un un blanc entre "netatmo" et "welcome", autrement dit que le dossier cible se nomme "netatmo<espace>welcome"), alors, pour que ça marche, il faut entourer le tout de quotes, comme ceci:

find "/volume1/video/netatmo welcome" etc ...

 

Modifié par CoolRaoul

Partager ce message


Lien à poster
Partager sur d’autres sites

Super merci beaucoup Raoul , je vais tester tout ça maintenant . Je vous laisserai un mot pour dire si ça fonctionne...ou pas 🙂

edit: du coup , peut on tout mettre dans une ligne de script ? C'est à dire , supprimer les fichiers et les dossiers de plus de 60 jours?

Si c'est possible, je mets quoi et dans quel ordre alors derrière

find "/volume1/video/netatmo welcome"
Modifié par Stephane Lang

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 13 heures, Stephane Lang a dit :

du coup , peut on tout mettre dans une ligne de script ? C'est à dire , supprimer les fichiers et les dossiers de plus de 60 jours?

Oui mais ça risque de devenir un peu compliqué à lire pour gérer fichiers et dossiers, faudrait falloir jongler avec des clauses "ou" ("-o") et des parenthèses dans le find (le "-empty" ne doit s'appliquer qu'aux dossiers, pas aux fichiers)

Ca ne mange pas de pain et est plus lisible de faire ça en deux lignes. Les fichiers en premier et les dossiers vides ensuite :

# purge des fichiers de plus de 2 mois
find "/volume1/video/netatmo welcome" -type f -mtime +60 -delete
# purges des dossiers vides 
find "/volume1/video/netatmo welcome" -mindepth 1 -depth -type d -empty -delete

NB: le -mindepth 1 que j'ai ajouté a pour effet pour ne traiter que les dossier de niveau 1 et plus et donc pas "netatmo welcome" lui même pour ne pas l'effacer au cas ou si il se retrouve vide.

Modifié par CoolRaoul

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

J'ouvre de nouveau ce sujet.

Je ne sais pas s'il y a une relation de cause à effet :
Depuis que j'ai créé cette règle, qui fonctionne très bien, VideoStation ne "voit" pas que les fichiers sont supprimés : ils restent indexés.

Une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 8 heures, StéphanH a dit :

Depuis que j'ai créé cette règle, qui fonctionne très bien, VideoStation ne "voit" pas que les fichiers sont supprimés : ils restent indexés.

Une idée ?

Oui: toutes les modifications (ajouts et suppressions) de fichiers faites par des scripts ou en ligne de commande ne sont pas détectées par l'indexeur. Seul les modules/paquets natifs DSM (samba/ftp/webdav/... serveur, et autres filestation, cloud-bidule, etc etc ..., gèrent ce genre cette situation).

Il faut donc utiliser la commande "synoindex" (/usr/syno/bin/synoindex) pour activer un rescan, total ou partiel.

Son aide intégrée:

Usage:                                                                                                                                                         
synoindex [OPTIONS]                                                                                                                                            

Index Options:                                                                                                                                                 
    -h, --help                                                                                                                                                 
        this help text                                                                                                                                         
    -A dirpath                                                                                                                                                 
        add a dir                                                                                                                                              
    -a filepath                                                                                                                                                
        add a file                                                                                                                                             
    -D dirpath                                                                                                                                                 
        delete a dir                                                                                                                                           
    -d filepath                                                                                                                                                
        delete a file                                                                                                                                          
    -N new_dirpath old_dirpath                                                                                                                                 
        rename a dir                                                                                                                                           
    -n new_filepath old_filepath                                                                                                                               
        rename a file                                                                                                                                          
    -R [all|media|photo|music|video|thumb|dirpath]                                                                                                             
        all:     reindex all dirpath that registered in each package                                                                                           
        media:   reindex dirpath that registered in MediaIndex package                                                                                         
        photo:   reindex photo dirpath                                                                                                                         
        music:   reindex music dirpath                                                                                                                         
        video:   reindex video dirpath                                                                                                                         
        thumb:   check converted video of each video file                                                                                                      
        dirpath: reindex this specific dirpath                                                                                                                 
    -R user:{user_name}                                                                                                                                        
        reindex personal photo dirpath                                                                                                                         
    -R share:{share_name}                                                                                                                                      
        reindex share dirpath                                                                                                                                  
    -R [type_music|type_video|type_photo]                                                                                                                      
        reindex dirpath that registered with specific type in MediaIndex                                                                                       
                                                                                                                                                               
Package Index Options:                                                                                                                                         
    -P [MediaIndex|{package_name}] {index_option}                                                                                                              
        index operation only apply on this package                                                                                                             
    -p [MediaIndex|{package_name}] {index_option}                                                                                                              
        index operation apply all packages except for this package                                                                                             
                                                                                                                                                               
File Index Options:                                                                                                                                            
    -f {index_option}                                                                                                                                          
        index operation apply on file index                                                                                                                    
    -U photo                                                                                                                                                   
        update photo images              
Dans le cas présent je pense qu'in "synoindex -R /chemin/du/dossier/modifié" devrait faire l'affaire
NB: la commande rend la main immédiatement, c'est normal, ça envoie juste un message à gestionnaire d'indexation qui fait le boulot en tache de fond.
Modifié par CoolRaoul

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement