Script de suppression de dossier

Script de suppression de dossier - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 11-02-2016 à 09:24:15    

Bonjour à tous,
 
je viens vers vous aujourd'hui car j'ai besoin de votre aide pour réaliser un petit script d'effacement de dossier en bash.
 
Je m'explique :
 
Dans mon projet, je possède un dossier MailsAttachment, dans celui-ci nous retrouvons un dossier pour chaque utilisateur de mon site, numéroté de 1 à n (n étant le dernier utilisateur donc). Dans chacun de ces dossiers utilisateurs, nous retrouvons un dossier pour chaque mail ouvert, qui contient par exemple les fichiers joints au mail.
 
Je souhaite donc mettre en place une crontask qui exécuterai ce script toutes les 24H, ce script aurai donc pour effet de supprimer le dossier des mails de chaque utilisateurs à partir du moment où ce dossier existerait depuis plus de 24H.
 
Je résume :
 
Exemple d'arborescence
 
>MailsAttachment
 
    >1    -----> correspond au dossier du premier utilisateur
 
        >1  -----> correspond au dossier temporaire du mail le plus ancien qui n'a pas encore dépassé les 24H
 
        >2
 
        >3
 
        >4  -----> correspond au dossier temporaire du mail le plus récent qui n'a pas encore dépassé les 24H (le plus récent donc)
 
    >2   -----> correspond au dossier du deuxième utilisateur
 
        >1  -----> correspond au dossier temporaire du mail le plus ancien qui n'a pas encore dépassé les 24H
 
        > ...
 
        >n  -----> correspond au dossier temporaire du mail le plus récent qui n'a pas encore dépassé les 24H
 
   >3   -----> correspond au dossier des mails temporaire du dernier utilisateur
 
Nous avons donc ici 3 utilisateurs, le premier utilisateur possède 4 dossiers temporaires correspondants donc aux 4 derniers mails qu'il a reçu datant de moins de 24H. Le deuxième utilisateur possède n dossier de mails qu'il a reçu dans les dernières 24H, etc etc. Ceci est un exemple bien sûre, dans la réalité nous retrouverons beaucoup plus d'utilisateurs ainsi que beaucoup plus de mails par utilisateurs.
 
Le script devrait donc parcourir le dossier de chaque utilisateurs, et supprimer dans ce dossier les dossiers qui existent depuis plus de 24H.
 
Cela aura donc pour effet de garder en mémoire les pièces jointes des mails 24H seulement, au delà de ça elles seront supprimées.
 
Je m'occupe de toute la partie crontask, seulement ayant très très peu de connaissance en Bash j'avoue ne pas être capable de réaliser ce script, et je pense que pour quelqu'un qui connait bien le langage cela devrait être largement à porté (dû moins je pense).
 
Bonne fin de journée et merci à vous

Reply

Marsh Posté le 11-02-2016 à 09:24:15   

Reply

Marsh Posté le 11-02-2016 à 10:38:45    

man find


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 11-02-2016 à 18:45:55    

un exemple a adapter pour le fun
 

Code :
  1. find /tmp -type f -atime +90 -exec gzip {} \; -ls 1> /tmp/compress.log 2> /tmp/compress.err


Message édité par kuroineko_fr le 11-02-2016 à 18:46:11
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed