Evolution #4727
Envoi de mail non désiré par la tâche planifiée de la purge de la corbeille samba
Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Target version:
Start date:
01/21/2013
Due date:
01/25/2013
% Done:
100%
Estimated time:
0.50 h
Distribution:
EOLE 2.3
Description
Dans le script
/usr/share/eole/schedule/daily/pre/cron-trash, la commande
find /home -ctime +8 -path "*/\.corbeille/*" -delete &>/dev/nullsupprime bien les objets plus vieux que 8 jours mais pour les dossiers qui contiennent encore des objets moins vieux, find renvoie "impossible de supprimer...: Le dossier n'est pas vide" et sort avec une code d'erreur 1. Le phénomène se produisait déja avant en 2.2 mais la tache ne passait pas par le service de eole-schedule et aucun mail n'était donc envoyé.
Il faudrait peut-être gérer différemment le retour de la commande pour l'envoi de mail d'alerte.
Related issues
Associated revisions
suppression de tous de type de fichier non répertoire puis suppression des répertoires vides (fixes #4727)
History
#1 Updated by Emmanuel GARETTE over 10 years ago
Etonnant que le répertoire parent ait une date inférieur à son contenu.
Je propose de faire en 2 passes :
- suppression des fichiers ;
- suppression des répertoires vides.
Voici un exemple (j'ai replacé les ctime en mtime, mais il faut bien mettre mtime) :
Création des répertoires :
mkdir -p test/.corbeille/rep1 touch --date "2004-02-29 16:21:42" test/.corbeille/rep1/file1 touch test/.corbeille/rep1/file2 touch --date "2004-02-29 16:21:42" test/.corbeille/rep1 mkdir -p test/.corbeille/rep2 touch --date "2004-02-29 16:21:42" test/.corbeille/rep2/file1 touch --date "2004-02-29 16:21:42" test/.corbeille/rep2
Fonctionnement actuel :
find . -mtime +8 -path "*/\.corbeille/*" ./test/.corbeille/rep1 ./test/.corbeille/rep1/file1 ./test/.corbeille/rep2/file1 find . -mtime +8 -path "*/\.corbeille/*" -delete find: impossible de supprimer `./test/.corbeille/rep1': Le dossier n'est pas vide find . ./test ./test/.corbeille ./test/.corbeille/rep1 ./test/.corbeille/rep1/file2
En deux passes :
find . ! -type d -mtime +8 -path "*/\.corbeille/*" -delete find . ./test ./test/.corbeille ./test/.corbeille/rep1 ./test/.corbeille/rep1/file2 ./test/.corbeille/rep2 find . -empty -mtime +8 -path "*/\.corbeille/*" -delete find . ./test ./test/.corbeille ./test/.corbeille/rep1 ./test/.corbeille/rep1/file2
#2 Updated by Joël Cuissinat over 10 years ago
- Target version set to Mises à jour 2.3.8
- Estimated time set to 0.50 h
#3 Updated by Fabrice Barconnière over 10 years ago
- Status changed from Nouveau to Accepté
- Assigned To set to Emmanuel GARETTE
#4 Updated by Emmanuel GARETTE over 10 years ago
- Status changed from Accepté to Résolu
- % Done changed from 0 to 100
Appliqué par commit conf-scribe:fa05d1998e6c7b915a6adc19a66816371c8a9544.
#5 Updated by Luc Bourdot over 10 years ago
- Due date set to 01/25/2013
- Start date changed from 01/18/2013 to 01/21/2013
#6 Updated by Bruno Boiget over 10 years ago
- Status changed from Résolu to Fermé
modif présente en version candidate.
A confirmer en utilisation réelle